利用socket可以从网络上获得视频流,请问如何用java写的代码程序来播放?

利用socket可以从网络上获得视频流,请问如何用java写的代码程序来播放?,第1张

javacv基于ffmpeg和opencv等开源音视频、图像处理库,可以支持各种协议的推流,拉流,实时图像处理,javacv可以解决你的问题,具体请参考javacv教程专栏:网页链接

import javaawt;
import javaawtevent;
import javaio;
import javanet;
import javaxswing;
import javaxmedia;
// 视频播放程序
public class VideoPlayDemo extends JFrame {
private Player player; // 播放器对象

private Component visualMedia; // 视频显示组件

private Component mediaControl; // 视频播放控制组件

private Container container; // 主容器

private File mediaFile; //媒体文件

private URL fileURL; //媒体文件URL地址
public VideoPlayDemo() { // 构造函数

super("视频播放程序"); //调用父类构造函数
container = getContentPane(); //得到窗口容器
JToolBar toobar = new JToolBar(); //实例化工具栏
JButton openFile = new JButton("打开媒体文件"); //实例化按钮
toobaradd(openFile); //增加按钮到工具栏
JButton openURL = new JButton("打开网络地址");
toobaradd(openURL);
containeradd(toobar, BorderLayoutNORTH); //设置工具栏
openFileaddActionListener(new ActionListener() { //打开文件按钮事件处理
public void actionPerformed(ActionEvent event) {
JFileChooser fileChooser = new JFileChooser(); //实例化文件选择器
fileChoosersetFileSelectionMode(JFileChooserFILES_ONLY);//设置文件打开模式为仅打开文件
int result = fileChoosershowOpenDialog(VideoPlayDemothis);//显示对话框
if (result == JFileChooserAPPROVE_OPTION) { //得到用户行为
mediaFile = fileChoosergetSelectedFile(); //得到选择的文件
}
if (mediaFile != null) {
try {
fileURL = mediaFiletoURL(); //得到文件的URL地址
} catch (MalformedURLException ex) {
exprintStackTrace(); //输出错误信息
showMessage("打开错误"); //显示错误信息
}
startPlayer(fileURLtoString()); //开始播放打开的文件
}
}
});
openURLaddActionListener(new ActionListener() { //打开URL按钮事件处理
public void actionPerformed(ActionEvent event) {
String addressName =JOptionPaneshowInputDialog(VideoPlayDemothis, "输入URL地址");
if (addressName != null)
startPlayer(addressName); //开始播放打开的URL
}
});
ManagersetHint(ManagerLIGHTWEIGHT_RENDERER, BooleanTRUE);
setSize(300, 200); //设置窗口大小
setVisible(true); //设置窗口为可视
setDefaultCloseOperation(JFrameEXIT_ON_CLOSE); //关闭窗口时退出程序

}

//初始化播放器

public void startPlayer(String mediaLocation) {

if (player != null)

//如果播放器非空则移去先前的播放器组件

if (visualMedia != null)

containerremove(visualMedia); //如果对象visualMedia非空则移去

if (mediaControl != null) {

containerremove(mediaControl); //如果对象mediaControl非空则移去

playerclose(); //关闭播放器

}

MediaLocator mediaLocator = new MediaLocator(mediaLocation); //媒体定位器

if (mediaLocator == null) {

showMessage("打开文件错误"); //显示错误信息

return;

}

try {

player = ManagercreatePlayer(mediaLocator); //得到播放器实例

playeraddControlle

HTML5就可以实现在网页里添加视频,用<video src="xxxmp4">这里写不支持html5视频的文字</video>
这是最简单的写法,具体方法和功能参考 >

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13389878.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存