国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
VideoPlayDemo
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import javax.media.ControllerAdapter;
import javax.media.EndOfMediaEvent;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.PrefetchCompleteEvent;
import javax.media.RealizeCompleteEvent;
import javax.media.Time;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JToolBar;
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() { // 構造函數(shù)  
     super("視頻播放程序"); //調用父類構造函數(shù)  
 
      container = getContentPane(); //得到窗口容器  
      JToolBar toobar = new JToolBar(); //實例化工具欄  
      JButton openFile = new JButton("打開媒體文件"); //實例化按鈕  
     
      toobar.add(openFile); //增加按鈕到工具欄  
      JButton openURL = new JButton("打開網(wǎng)絡地址");  
      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()); //開始播放打開的文件
                    System.out.println(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(); //預取媒體數(shù)據(jù)  
      }  
     
      //完成預取媒體數(shù)據(jù)后,開始播放媒體  
      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();  
 }  
 
}
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Apache Shiro實現(xiàn)單點登錄SSO | 沐風
java實現(xiàn)記事本
后臺自動發(fā)送郵件的程序(Java Mail,WEB版)
ActiveMQ的一個簡單示例
某高人整理的Java就業(yè)面試題大全【2】
在Java中操作掃描儀(使用JNI)_JAVA專欄_程序開發(fā)_技術部落--打造最全面的IT技術網(wǎng)站_Jsbulo.com
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服