java 视频播放_java创建简易视频播放器

本文介绍了如何使用Java和VLCJ库开发一个简单的视频播放器。主要内容包括环境配置,如导入VLCJ、SLF4J等相关库文件,设置VLC的路径,以及编写主程序和窗体文件的代码,实现视频加载、播放、退出及播放控制等功能。
摘要由CSDN通过智能技术生成

最近有个多媒体的作业,要求使用visualC++和OpenCV编写一个简易的视频播放器,对于C/C++残疾者而言是不可能的,于是萌生了用Java编写的想法。具体经验分享一下。

目标:制作简易视频播放器

开发工具:eclipse4.5.1;VLC2.2.1

具体内容:完成了视频的加载、播放、退出的功能;实现了视频播放过程中控制播放进程;实现播放过程中控制暂停。

最终程序效果图如下:

9e52be5b6455cc1bffb746e158c0b7af.png

f57449b43a8a656e2f7df71df2480b2a.png

4745750f701fb2eb16c55b79e082717d.png

开发过程参考学习资源:

GitHub

一、环境配置,也是最重要的一步,如果开发环境没有配置好的话,其他的事都是瞎扯淡。

1.下载vlc(点击打开下载vlc链接),下载自己电脑系统对应的版本并安装;

2.下载vlcj(点击打开下载vlcj链接),把下载文件解压后将其目录下的

jna-3.5.2.jar、platform-3.5.2.jar、vlcj-3.8.0.jar(不同版本后缀数字可能会不同)三个文件复制到对应的java工程目录(新建 lib 文件夹)下;

bcf63fd2fd0599980ecbe0b6e9c4176e.png

3.下载slf4j(点击打开slf4j下载),下载文件后解压将其目录下的slf4j-api-1.7.13.jar、

slf4j- nop-1.7.13.jar(不同版本后缀数字可能会不同)两个文件复制到对应的java工程目录(新建 lib 文件夹)下;

5f1bee4a43e3272c23b0a44ea1309d22.png

4. 将vlc安装目录下的libvlc.dll、libvlccore.dll 两个文件以及plugins问佳佳复制到对应的java工程目录下;

894e8564c0c67ceb47b7cb1e1cf99e06.png

至此,环境文件的导入已经基本完成。进入eclipse将lib文件夹下面的5个 .jar 文件添加到工作路径。完成后java工程的目录结构如下:

1a0f23d421df5c4d01425b60ac4aeba0.png

java工程下的包里是具体的程序实现代码。

二.各种环境文件导入java工程之后还需要配置一下才可能够配置到最终的工作环境。

1.在java工程下新建两个包,分别存放程序主文件和窗体文件。在在主程序包下建一个主类,主类的main函数作如下配置:

public static void main(String[] args) {

//环境配置,将vlc sdk导入到eclipse

//if(RuntimeUtil.isWindows()){     }

NativeLibrary.addSearchPath(

RuntimeUtil.getLibVlcLibraryName(), "

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
创建一个简易视频播放器,你需要掌握以下几个步骤: 1. 导入所需的包和库 在Java中,你需要使用javax.swing包来创建用户界面,同时还需要使用Java Media Framework(JMF)库来处理视频。你可以从官方网站下载并安装JMF。 2. 创建用户界面 使用Swing包中的JFrame类创建一个窗口,然后添加一个JPanel组件作为视频播放区域。你还可以添加其他组件,如按钮和菜单项,以实现播放器的控制功能。 3. 加载视频文件 使用JMF库中的Player类加载视频文件,然后将视频显示在JPanel组件中。 4. 实现播放器控制功能 为播放器添加控制按钮和菜单项,如播放、暂停、停止和调整音量等。 5. 处理视频事件 使用JMF库中的相应类处理视频事件,如开始播放、暂停、停止和完成等。 下面是一个简单的示例代码,可以创建一个简单的视频播放器: ``` import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import javax.media.Manager; import javax.media.Player; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; public class VideoPlayer extends JFrame implements ActionListener { private Player player; private File file; private JButton openButton, playButton, pauseButton, stopButton; private JFileChooser fileChooser; public VideoPlayer() { super("Video Player"); setSize(640, 480); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel playerPanel = new JPanel(); getContentPane().add(playerPanel, BorderLayout.CENTER); openButton = new JButton("Open"); openButton.addActionListener(this); getContentPane().add(openButton, BorderLayout.NORTH); JPanel controlPanel = new JPanel(); playButton = new JButton("Play"); playButton.addActionListener(this); pauseButton = new JButton("Pause"); pauseButton.addActionListener(this); stopButton = new JButton("Stop"); stopButton.addActionListener(this); controlPanel.add(playButton); controlPanel.add(pauseButton); controlPanel.add(stopButton); getContentPane().add(controlPanel, BorderLayout.SOUTH); fileChooser = new JFileChooser(); } public void actionPerformed(ActionEvent e) { if (e.getSource() == openButton) { int result = fileChooser.showOpenDialog(this); if (result == JFileChooser.APPROVE_OPTION) { file = fileChooser.getSelectedFile(); playVideo(); } } else if (e.getSource() == playButton) { player.start(); } else if (e.getSource() == pauseButton) { player.stop(); } else if (e.getSource() == stopButton) { player.stop(); player.setMediaTime(new Time(0)); } } private void playVideo() { try { player = Manager.createPlayer(file.toURI().toURL()); player.realize(); player.prefetch(); getContentPane().validate(); player.start(); } catch (Exception ex) { JOptionPane.showMessageDialog(this, "Invalid file or player error: " + ex.getMessage()); } } public static void main(String[] args) { VideoPlayer player = new VideoPlayer(); player.setVisible(true); } } ``` 这段代码创建了一个简单的视频播放器,包括一个打开按钮和三个控制按钮(播放、暂停和停止)。当用户点击打开按钮时,会弹出文件选择器,允许用户选择要播放视频文件。播放器使用JMF库中的Player类来加载视频文件并将其显示在窗口中。用户可以使用控制按钮来播放、暂停或停止视频
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值