b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

vlcj--java-制作视频播放器(2)

电脑杂谈  发布时间:2019-06-30 09:11:02  来源:网络整理

窗体代码实现:

package videoPlayer.views;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JSlider;
import javax.swing.border.EmptyBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;
import videoPlayer.Main.MainVideoPlayler;
import javax.swing.ImageIcon;
public class MainWindow extends JFrame {
    private JPanel contentPane;
    //创建播放器界面组件
    EmbeddedMediaPlayerComponent playerComponent = 
      new EmbeddedMediaPlayerComponent();
    private final JPanel panel = new JPanel();
    private JProgressBar progress;
    public MainWindow() {
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 712, 512);
        //菜单条
        JMenuBar menuBar = new JMenuBar();
        setJMenuBar(menuBar);
        //菜单中的文件
        JMenu menu = new JMenu("文件");
        menuBar.add(menu);
        //一级菜单中的打开文件选项
        JMenuItem menuItem = new JMenuItem("打开文件");
        menu.add(menuItem);
        menuItem.addActionListener(new ActionListener() {
            //点击后会文件选择器
            @Override
            public void actionPerformed(ActionEvent e) {
                MainVideoPlayler.openVideo();   
            }
        });
        //一级菜单中的打开字符选项
        JMenuItem menuItem_1 = new JMenuItem("打开字幕");
        menu.add(menuItem_1);
        menuItem_1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                MainVideoPlayler.openSubtitle();
            }
        });
        //退出
        JMenuItem menuItem_2 = new JMenuItem("退出");
        menu.add(menuItem_2);
        menuItem_2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                MainVideoPlayler.exit();
            }
        });
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        contentPane.setLayout(new BorderLayout(0, 0));
        setContentPane(contentPane);
        JPanel videopanel = new JPanel();
        //因为playerComponent布局为边界布局,所以Jpanl布局也必须边界布局,不然只能听到声音,看不到画面
        contentPane.add(videopanel, BorderLayout.CENTER);
        videopanel.setLayout(new BorderLayout(0, 0));
        //将播放器界面添加到videopanel中,用来播放视频,并设置布局为居中
        playerComponent = new EmbeddedMediaPlayerComponent();
        videopanel.add(playerComponent, BorderLayout.CENTER);
        videopanel.add(panel, BorderLayout.SOUTH);
        panel.setLayout(new BorderLayout(0, 0));
        JPanel controlPanel = new JPanel();
        panel.add(controlPanel);
        controlPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
        JButton button_1 = new JButton("\u9000\u51FA");
        controlPanel.add(button_1);
        JButton btnNewButton = new JButton("");
        btnNewButton.setIcon(new ImageIcon(MainWindow.class.getResource(
          "/com/sun/javafx/webkit/prism/resources/mediaPlayDisabled.png")));
        controlPanel.add(btnNewButton);
        JButton button = new JButton("");
        button.setIcon(new ImageIcon(MainWindow.class.getResource(
          "/com/sun/javafx/webkit/prism/resources/mediaPause.png")));
        controlPanel.add(button);
        JLabel label = new JLabel("");
        label.setIcon(new ImageIcon(MainWindow.class.getResource(
          "/com/sun/javafx/webkit/prism/resources/mediaMuteDisabled.png")));
        controlPanel.add(label);
        JSlider slider = new JSlider();
        slider.setValue(100);//设置默认音量100
        slider.setMaximum(120);//设置最大音量120
        controlPanel.add(slider);
        slider.addChangeListener(new ChangeListener() {
            public void stateChanged(ChangeEvent arg0) {
                //将音量条的值传递给播放器的音量控件
                MainVideoPlayler.volume(slider.getValue());
            }
        });
        //视频播放进度条
        progress = new JProgressBar();
        progress.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                //获得鼠标点击进度条时的横坐标x值
                int x = e.getX();
                //x除以进度条总长度为当前百分比
                MainVideoPlayler.jumpTo(((float)x/progress.getWidth()));
            }
        });
        progress.setStringPainted(true);
        panel.add(progress, BorderLayout.NORTH);
        button.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                MainVideoPlayler.pause();
            }
        });
        btnNewButton.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent arg0) {
                MainVideoPlayler.play();
            }
        });
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
            }
        });
        button_1.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                MainVideoPlayler.stop();
            }
        });
    }
    //定义一个方法,返回视频播放器
    public EmbeddedMediaPlayer getMediaPlayer() {
        return playerComponent.getMediaPlayer();
    }
    //定义一个方法,获得经度条的进度
    public JProgressBar getProgressBar() {
        return progress;
    }
}

java播放音乐_java 视频播放服务器_java本地视频播放器

界面

图:程序运行主界面

文件

图:菜单栏图:选择文件

选中项目工程,单击鼠标右键,选择导出选项。点击后如下图,选择Java文件夹中的Runnable JAR file选项。

导出1

图:导出第一步,选择导出类型

点击Launch configuration,进行选择要导出的主方法。我的主方法为MainVideoPlayer。

这里写图片描述

java 视频播放服务器_java播放音乐_java本地视频播放器

图:导出第二步,选择导出类型主方法

选择要导出的文件位置,一般选择放在本工程文件中的release文件夹中,此文件夹需新建。

导出2

图:导出第三步,选择导出文件位置

选择导出文件库 包装类型,一般选择第二个,把所有需要库都打包。

导出4

图:导出第四步,选择导出包装类型

导出完成,只要在有Java运行环境的电脑中,双击此文件即可运行程序。

导出5

图:导出第四步,完成


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-109462-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...