日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java怎么播放视频_如何播放视频文件 java

發布時間:2023/12/10 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java怎么播放视频_如何播放视频文件 java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

展開全部

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.net.*;

import javax.swing.*;

import javax.media.*;

// 視頻播放程序

public class VideoPlayDemo extends JFrame {

private Player player; // 播放器對象

private Component visualMedia; // 視頻顯示32313133353236313431303231363533e4b893e5b19e31333238666339組件

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("打開媒體文件"); //實例化按鈕

toobar.add(openFile); //增加按鈕到工具欄

JButton openURL = new JButton("打開網絡地址");

toobar.add(openURL);

container.add(toobar, BorderLayout.NORTH); //設置工具欄

openFile.addActionListener(new ActionListener() { //打開文件按鈕事件處理

public void actionPerformed(ActionEvent event) {

JFileChooser fileChooser = new JFileChooser(); //實例化文件選擇器

fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);//設置文件打開模式為僅打開文件

int result = fileChooser.showOpenDialog(VideoPlayDemo.this);//顯示對話框

if (result == JFileChooser.APPROVE_OPTION) { //得到用戶行為

mediaFile = fileChooser.getSelectedFile(); //得到選擇的文件

}

if (mediaFile != null) {

try {

fileURL = mediaFile.toURL(); //得到文件的URL地址

} catch (MalformedURLException ex) {

ex.printStackTrace(); //輸出錯誤信息

showMessage("打開錯誤"); //顯示錯誤信息

}

startPlayer(fileURL.toString()); //開始播放打開的文件

}

}

});

openURL.addActionListener(new ActionListener() { //打開URL按鈕事件處理

public void actionPerformed(ActionEvent event) {

String addressName =JOptionPane.showInputDialog(VideoPlayDemo.this, "輸入URL地址");

if (addressName != null)

startPlayer(addressName); //開始播放打開的URL

}

});

Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, Boolean.TRUE);

setSize(300, 200); //設置窗口大小

setVisible(true); //設置窗口為可視

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //關閉窗口時退出程序

}

//初始化播放器

public void startPlayer(String mediaLocation) {

if (player != null)

//如果播放器非空則移去先前的播放器組件

if (visualMedia != null)

container.remove(visualMedia); //如果對象visualMedia非空則移去

if (mediaControl != null) {

container.remove(mediaControl); //如果對象mediaControl非空則移去

player.close(); //關閉播放器

}

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

if (mediaLocator == null) {

showMessage("打開文件錯誤"); //顯示錯誤信息

return;

}

try {

player = Manager.createPlayer(mediaLocator); //得到播放器實例

player.addControllerListener(new PlayerEventHandler()); //增加播放控制器

player.realize();

} catch (Exception ex) {

ex.printStackTrace();

showMessage("打開錯誤"); //顯示錯誤信息

}

}

//取得媒體組件

public void getMediaComponents() {

visualMedia = player.getVisualComponent(); //取得視頻顯示組件

//如果對象visualMedia非空則加入到窗口內容窗格

if (visualMedia != null) {

container.add(visualMedia, BorderLayout.CENTER);

pack();

}

mediaControl = player.getControlPanelComponent(); //取得播放控制組件

//如果對象visualMedia非空則加入到窗口內容窗格

if (mediaControl != null)

container.add(mediaControl, BorderLayout.SOUTH);

}

//播放器事件處理

private class PlayerEventHandler extends ControllerAdapter {

public void realizeComplete(RealizeCompleteEvent realizeDoneEvent) {

player.prefetch(); //預取媒體數據

}

//完成預取媒體數據后,開始播放媒體

public void prefetchComplete(PrefetchCompleteEvent prefetchDoneEvent) {

getMediaComponents();

validate();

player.start(); //開始播放媒體

}

//如果媒體播放完畢,重新設置媒體時間并停止媒體播放器

public void endOfMedia(EndOfMediaEvent mediaEndEvent) {

player.setMediaTime(new Time(0)); //重新設置媒體時間

player.stop(); // 停止媒體播放

}

}

public void showMessage(String s) {

JOptionPane.showMessageDialog(this, s); //顯示提示信息

}

public static void main(String args[]) {

new VideoPlayDemo();

}

}

本回答由提問者推薦

已贊過

已踩過<

你對這個回答的評價是?

評論

收起

總結

以上是生活随笔為你收集整理的java怎么播放视频_如何播放视频文件 java的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。