java視頻播放軟體
❶ java網路怎麼實現在線視頻播放
推薦一個免費框架JPlayer,支持視頻的在線播放。當然,如果你對於上傳的視頻文件不做規定的話,你還需要准備進行轉碼處理。
❷ 求JAVA視頻播放器代碼
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.FileDialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.ControllerClosedEvent;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.EndOfMediaEvent;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.media.PrefetchCompleteEvent;
import javax.media.RealizeCompleteEvent;
import javax.media.Time;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
public class JMFMediaPlayer extends JFrame implements ActionListener,
ControllerListener, ItemListener {
// JMF的播放器
Player player;
// 播放器的視頻組件和控制組件
Component vedioComponent;
Component controlComponent;
// 標示是否是第一次打開播放器
boolean first = true;
// 標示是否需要循環
boolean loop = false;
// 文件當前目錄
String currentDirectory;
// 構造方法
public JMFMediaPlayer(String title) {
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
// 用戶點擊窗口系統菜單的關閉按鈕
// 調用dispose以執行windowClosed
dispose();
}
public void windowClosed(WindowEvent e){
if (player != null){
// 關閉JMF播放器對象
player.close();
}
System.exit(0);
}
});
// 創建播放器的菜單
JMenu fileMenu = new JMenu("文件");
JMenuItem openMemuItem = new JMenuItem("打開");
openMemuItem.addActionListener(this);
fileMenu.add(openMemuItem);
// 添加一個分割條
fileMenu.addSeparator();
// 創建一個復選框菜單項
JCheckBoxMenuItem loopMenuItem = new JCheckBoxMenuItem("循環", false);
loopMenuItem.addItemListener(this);
fileMenu.add(loopMenuItem);
fileMenu.addSeparator();
JMenuItem exitMemuItem = new JMenuItem("退出");
exitMemuItem.addActionListener(this);
fileMenu.add(exitMemuItem);
JMenuBar menuBar = new JMenuBar();
menuBar.add(fileMenu);
this.setJMenuBar(menuBar);
this.setSize(200, 200);
try {
// 設置界面的外觀,為系統外觀
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
SwingUtilities.updateComponentTreeUI(this);
} catch (Exception e) {
e.printStackTrace();
}
this.setVisible(true);
}
/**
* 實現了ActionListener介面,處理組件的活動事件
*/
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("退出")) {
// 調用dispose以便執行windowClosed
dispose();
return;
}
FileDialog fileDialog = new FileDialog(this, "打開媒體文件", FileDialog.LOAD);
fileDialog.setDirectory(currentDirectory);
fileDialog.setVisible(true);
// 如果用戶放棄選擇文件,則返回
if (fileDialog.getFile() == null){
return;
}
currentDirectory = fileDialog.getDirectory();
if (player != null){
// 關閉已經存在JMF播放器對象
player.close();
}
try {
// 創建一個打開選擇文件的播放器
player = Manager.createPlayer(new MediaLocator("file:"
+ fileDialog.getDirectory() + fileDialog.getFile()));
} catch (java.io.IOException e2) {
System.out.println(e2);
return;
} catch (NoPlayerException e2) {
System.out.println("不能找到播放器.");
return;
}
if (player == null) {
System.out.println("無法創建播放器.");
return;
}
first = false;
this.setTitle(fileDialog.getFile());
// 播放器的控制事件處理
player.addControllerListener(this);
// 預讀文件內容
player.prefetch();
}
/**
* 實現ControllerListener介面的方法,處理播放器的控制事件
*/
public void controllerUpdate(ControllerEvent e) {
// 調用player.close()時ControllerClosedEvent事件出現。
// 如果存在視覺部件,則該部件應該拆除(為一致起見,
// 我們對控制面板部件也執行同樣的操作)
if (e instanceof ControllerClosedEvent) {
if (vedioComponent != null) {
this.getContentPane().remove(vedioComponent);
this.vedioComponent = null;
}
if (controlComponent != null) {
this.getContentPane().remove(controlComponent);
this.controlComponent = null;
}
return;
}
// 如果是媒體文件到達尾部事件
if (e instanceof EndOfMediaEvent) {
if (loop) {
// 如果允許循環,則重新開始播放
player.setMediaTime(new Time(0));
player.start();
}
return;
}
// 如果是播放器預讀事件
if (e instanceof PrefetchCompleteEvent) {
// 啟動播放器
player.start();
return;
}
// 如果是文件打開完全事件,則顯示視頻組件和控制器組件
if (e instanceof RealizeCompleteEvent) {
vedioComponent = player.getVisualComponent();
if (vedioComponent != null){
this.getContentPane().add(vedioComponent);
}
controlComponent = player.getControlPanelComponent();
if (controlComponent != null){
this.getContentPane().add(controlComponent, BorderLayout.SOUTH);
}
this.pack();
}
}
// 處理「循環」復選框菜單項的點擊事件
public void itemStateChanged(ItemEvent e) {
loop = !loop;
}
public static void main(String[] args){
new JMFMediaPlayer("JMF媒體播放器");
}
}
試試吧,我這里運行正常
❸ 用java編視頻播放器需要用那個類庫支持
編寫一個視頻播放器,要用到sun開發的一個附加的API包,即JMF API包,全稱是Java Media Framework API。這個包不是J2SE SDK中的標准包,在安裝JDK的時候是不含這個包的,那麼這個包可以去sun網站上下載,並且在你所使用的IDE中添加即可,那麼具體下載網站是:
http://java.sun.com/procts/java-media/jmf/2.1.1/download.html
可以查看一下新的版本。
另外,幫助文檔可以在http://java.sun.com/procts/java-media/jmf/2.1.1/documentation.html上下載。
希望對樓主有所幫助!
❹ 用java如何做一個視頻播放器
要想提高自己的能力,那就去學習下,提高自己的動手能力,這樣在難的程序開發,那也是很容易解決的
當然你也可以去蛙課網了解一下今年最新的視頻教程。動力節點的java基礎教程159集,20年最新升級為全新的java基礎316集,可以通過蛙課網獲取哦"
❺ 用java做音視頻播放器
我做過一個MP3的..給你看看.
package music;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
import javax.media.bean.playerbean.*; //這個包要用到JMF
public class MP3 extends JFrame implements Runnable {
public JLabel shijian;
private JSlider sldDiameter;
public MediaPlayer soumd1;
public JButton playSound, loopSound, stopsound;
public JButton tjian, shanc, baocun, qu;
public JPanel jp1, jp2, jp3, jp4;
public JList jl;
int zongmiao=0;
public Vector vector, mingcheng;
boolean fo = false, geshi = false;
JLabel jl1, jl2, sj1, sj2;
JTextField jt1, jt2;
JButton queding, xiugai;
int zong = 0;
int a = 0, b = 0, you = 1,mm=0;
int fenzhong, miaozhong;
public MP3() {
super(「java簡單音樂播放器「);
soumd1 = new MediaPlayer();
Container c = getContentPane();
c.setLayout(new FlowLayout());
mingcheng = new Vector();
jp1 = new JPanel();
shijian = new JLabel();
jp1.add(shijian);
c.add(jp1);
playSound = new JButton(「開始播放「);
loopSound = new JButton(「循環播放「);
stopsound = new JButton(「停止播放「);
jp2 = new JPanel();
jp2.add(playSound);
jp2.add(loopSound);
jp2.add(stopsound);
c.add(jp2);
jp4 = new JPanel();
sj1 = new JLabel();
sj2 = new JLabel();
sldDiameter = new JSlider(SwingConstants.HORIZONTAL, 0, 100, 0);
sldDiameter.setMajorTickSpacing(1);
sldDiameter.setPaintTicks(true);
jp4.add(sj1);
jp4.add(sldDiameter);
jp4.add(sj2);
c.add(jp4);
vector = new Vector();
jl = new JList(mingcheng);
jl.setVisibleRowCount(5);
jl.setFixedCellHeight(40);
jl.setFixedCellWidth(265);
jl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
c.add(new JScrollPane(jl));
tjian = new JButton(「添加「);
shanc = new JButton(「刪除「);
qu = new JButton(「讀取「);
baocun = new JButto
摘選自網上,希望對你有幫助。