最近接到个需求需要用java搭建一个播放器,播放udp协议的直播流。
关于java搭建播放器的文章大多都是集成vlcj利用dll打开VLC播放器的组件进行播放
参考文章链接
先上效果图
需要的vlc 文件 和java工程中所需的lib 我整理好了
链接:https://pan.baidu.com/s/1rhpceoZIwYUEUyLjWalzNg
提取码:m3jt
我试过安装vlc3.0.20最新版本,发现不能正常唤起,但是这个版本可以。
java项目中创建个lib文化夹,把依赖丢里
到这里项目的依赖就搞定了。
vlc播放器直接安装就行,可以利用它播放直播流是否正常
到这里准备工作就做完了。
代码
需要引入的包
import javax.swing.*;
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import uk.co.caprica.vlcj.discovery.NativeDiscovery;
private static final JFrame frame = new JFrame("");//java窗口的标题,因为我这个窗口是隐藏了标题,所以无所谓
NativeDiscovery nativeDiscovery = new NativeDiscovery();
nativeDiscovery.discover();
// 窗口标题栏 隐藏
frame.setUndecorated(true);
// 是否窗口前置
frame.setAlwaysOnTop(true);
frame.setBounds(0,0,800,600); //(x,y,宽,高)
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
BorderLayout borderLayout = new BorderLayout();
frame.setLayout(borderLayout);
EmbeddedMediaPlayerComponent mediaPlayerComponent = new EmbeddedMediaPlayerComponent();
frame.setContentPane(mediaPlayerComponent);
frame.setVisible(true);
String mediaPath = "udp://@xxx.xxx.xx.xx:1234";
mediaPlayerComponent.getMediaPlayer().playMedia(mediaPath);