- 浏览: 297629 次
- 性别:
- 来自: 东京
文章分类
最新评论
-
80后的童年2:
企业级分布式搜索平台Solr视频教程网盘地址:https:// ...
企业级搜索引擎Solr使用入门指南 -
springdata_spring:
apache lucene开源框架demo使用实例教程源代码下 ...
Lucene / Solr 开发经验 -
springdata-jpa:
java web开发分页demo源代码下载:http://ww ...
简易java分页标签 -
zjf_sdnu:
兄弟,script写错了
jqGrid初学备注 -
85600367:
你好,请教一个问题。当进行分布式查询时solr无法查询到Luc ...
Lucene / Solr 开发经验
java 代码
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- import javax.media.*;
- public class VideoDemo extends JFrame implements ActionListener,ControllerListener
- {
- JMenuBar jMenuBar1=new JMenuBar();
- JMenu jMenuFile=new JMenu( "File" );
- JMenu jMenuList=new JMenu( "List" );
- JMenu jMenuControl=new JMenu( "Control" );
- JMenu jMenuSkin=new JMenu( "Skin" );
- JMenu jMenuHelp=new JMenu( "Help" );
- JMenuItem jMenuFileOpen=new JMenuItem( "Open" );
- JMenuItem jMenuFileExit=new JMenuItem( "Exit" );
- JMenuItem jMenuControlPlay=new JMenuItem( "Play" );
- JMenuItem jMenuControlPause=new JMenuItem( "Pause" );
- JMenuItem jMenuControlStop=new JMenuItem( "Stop" );
- JMenuItem jMenuSkinmetal=new JMenuItem( "metalSkin" );
- JMenuItem jMenuSkinwindows=new JMenuItem( "windowsSkin" );
- JMenuItem jMenuSkinmotif=new JMenuItem( "motifSkin" );
- JMenuItem jMenuControlFullScreen=new JMenuItem( "FullScreen" );
- JLabel statusBar=new JLabel();
- JLabel welcome=new JLabel();
- Player player;
- Component visualComponent;//Video player component
- Component controlComponent;//video player control component
- JPanel jPanel1=new JPanel( new BorderLayout());
- String file="" ;
- String strDir;
- public VideoDemo()
- {
- this .setSize( 400 , 300 );
- this .setTitle( "Casper's player" );
- welcome=new JLabel( new ImageIcon( "girl.jpg" ));
- jPanel1.add(welcome);
- statusBar.setText(" " );
- jMenuFileExit.addActionListener(this );
- jMenuFileOpen.addActionListener(this );
- jMenuFile.add(jMenuFileOpen);
- jMenuFile.addSeparator();
- jMenuFile.add(jMenuFileExit);
- jMenuBar1.add(jMenuFile);
- jMenuBar1.add(jMenuSkin);
- jMenuSkin.add(jMenuSkinmetal);
- jMenuSkinmetal.addActionListener(this );
- jMenuSkin.add(jMenuSkinwindows);
- jMenuSkinwindows.addActionListener(this );
- jMenuSkin.add(jMenuSkinmotif);
- jMenuSkinmotif.addActionListener(this );
- jMenuBar1.add(jMenuControl);/////////////
- jMenuControl.add(jMenuControlPlay);
- jMenuControlPlay.addActionListener(this );
- jMenuControl.add(jMenuControlPause);
- jMenuControlPause.addActionListener(this );
- jMenuControl.add(jMenuControlStop);
- jMenuControlStop.addActionListener(this );
- jMenuControl.add(jMenuControlFullScreen);///////////
- jMenuControlFullScreen.addActionListener(this );
- jMenuBar1.add(jMenuList);
- jMenuBar1.add(jMenuHelp);
- this .setJMenuBar(jMenuBar1);
- statusBar.setText("No file open" );
- Manager.setHint(Manager.LIGHTWEIGHT_RENDERER,new Boolean( true ));
- //
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- this .getContentPane().add(statusBar, "South" );
- this .getContentPane().add(jPanel1, "Center" );
- this .setVisible( true );
- }
- public void actionPerformed(ActionEvent e)
- {
- //Skin menu(three skins)
- if (e.getSource()==jMenuSkinwindows)
- {
- String windows="com.sun.java.swing.plaf.windows.WindowsLookAndFeel" ;
- try {
- UIManager.setLookAndFeel(windows);//设置见面风格
- SwingUtilities.updateComponentTreeUI(this ); //使设置的界面风格生效
- this .pack();
- }catch (Exception e1){
- System.out.println("can't set such style" );
- }
- }
- else if (e.getSource()==jMenuSkinmetal)
- {
- String metal="javax.swing.plaf.metal.MetalLookAndFeel" ;
- try {
- UIManager.setLookAndFeel(metal);
- SwingUtilities.updateComponentTreeUI(this );
- this .pack();
- }catch (Exception e1){
- System.out.println("can't set such style" );
- }
- }
- else if (e.getSource()==jMenuSkinmotif)
- {
- String motif="com.sun.java.swing.plaf.motif.MotifLookAndFeel" ;
- try {
- UIManager.setLookAndFeel(motif);
- SwingUtilities.updateComponentTreeUI(this );
- this .pack();
- }catch (Exception e1){
- System.out.println("can't set such style" );
- }
- }
- //////////////////////////////////////////////////////////////////
- //File menu
- else if (e.getSource()==jMenuFileExit)
- {
- if (player!= null )
- player.close();
- this .dispose();
- System.exit(0 );
- }
- else if (e.getSource()==jMenuFileOpen)
- {
- try
- {
- jPanel1.remove(welcome);
- FileDialog dlgOpen=new FileDialog( this , "Open file" ,FileDialog.LOAD);
- dlgOpen.setDirectory(strDir);
- dlgOpen.setVisible(true );
- strDir=dlgOpen.getDirectory();
- if (strDir!= null )
- {
- if (player!= null )
- player.close();
- if (visualComponent!= null )
- jPanel1.remove(visualComponent);
- if (controlComponent!= null )
- jPanel1.remove(controlComponent);
- visualComponent=null ;
- controlComponent=null ;
- file=strDir+dlgOpen.getFile();
- // player=Manager.createPlayer(new URL("file:\\"+file));//create the object of the media will play
- player = Manager.createPlayer (new MediaLocator("file: ” +file));
- statusBar.setText(" playing: "+file.toString());//display the file imfomation
- player.addControllerListener(this);
- player.prefetch();//get the file data
- }
- }catch(Exception ex){ex.printStackTrace();}
- }
- ////////////////////////////////////////////////////////
- //control funcitons Menu
- else if(e.getSource()==jMenuControlFullScreen)//Full screen
- {
- dispose();
- setUndecorated(true);
- getGraphicsConfiguration().getDevice().setFullScreenWindow(this);
- setVisible(true);
- }
- else if(e.getActionCommand().equals(" Play ")) //play
- {
- if(player != null)
- {
- player.start();
- }
- return;
- }
- else if(e.getActionCommand().equals(" Pause ")) //pause
- {
- if(player != null)
- {
- player.stop();
- }
- return;
- }
- else if(e.getActionCommand().equals(" Stop")) //stop
- {
- if (player != null )
- {
- player.stop();
- player.setMediaTime(new Time( 0 ));
- }
- return ;
- }
- }
- public void controllerUpdate(ControllerEvent e)
- {
- if (e instanceof PrefetchCompleteEvent)
- {
- player.start();
- return ;
- }
- if (e instanceof RealizeCompleteEvent)
- {
- visualComponent=player.getVisualComponent();
- if (visualComponent!= null )
- jPanel1.add(visualComponent,BorderLayout.CENTER);
- controlComponent=player.getControlPanelComponent();//time shaft control
- if (controlComponent!= null )
- jPanel1.add(controlComponent,BorderLayout.SOUTH);
- player.getGainControl(); //volume control conponent
- this .pack();
- this .setResizable( false );
- this .setVisible( true );
- return ;
- }
- }
- public static void main(String[] args)
- {new VideoDemo();}
- }
/*Player类中的很多方法只有在Player对象处于Realized的状态下才会被调用。
为了保证Player对象已经到达了该状态,
你需要使用Manager的createRealizePlayer()方法
来获得Player对象。但是对于start()方法来说,
你可以在Player对象到达Prefetched状态之前调用它,
它可以自动将Player的状态转换到Started状态*/
//Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();//取出屏幕大小
//player.getGainControl().getControlComponent(); //是操作音量(增加)的可视组件volume control conponent
发表评论
-
Bean-Managed Transactions
2009-01-19 22:58 1355To control transaction boundari ... -
EJB3.0初学备注
2008-08-31 23:33 1502Session Bean Example @State ... -
JUnit初学备注
2008-08-24 19:32 10771,Create a class for testing,he ... -
简易java分页标签
2007-12-17 15:18 69191,标签的实现类NumenTag.java java 代码 ... -
JSP模板应用指南
2007-12-15 16:48 2022Window 工具包提供了一种典型的布局机制,比如说在一个容器 ... -
用Java Mail发送带图片附件
2007-12-15 16:35 27131,读入图片的方式: 发现网上讲的很多读取图片的方式都不对,按 ... -
Filter对权限和session的控制
2007-12-15 16:26 1813用Filter防止用户访问一些未被授权的资源,比如一个用户未登 ... -
创建Java中的线程池
2007-12-15 16:12 1801线程是Java的一大特性,它可以是给定的指令序列、给定的方法中 ... -
在jar中查找类
2007-12-15 16:02 1671java 代码 import java.util.* ... -
Java Media Framework
2007-12-15 15:59 2250安装JMF 下载完JMF安装程序后,双击安装程序的图 ... -
Java程序易犯的21种错误
2007-12-15 15:57 10871.Duplicated Code 代码重复几乎 ... -
六种异常处理的陋习
2007-12-15 00:26 1189你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Ja ... -
JXTA P2P网络编程技术
2007-12-15 00:24 23331.前言 最近,P2P(Peer-to-Peer)又成为 ...
相关推荐
总结起来,这个Java通过JMF播放视频的简单示例展示了如何利用JMF进行多媒体数据的传输和播放,涉及到网络通信、多媒体处理和Java对象的生命周期管理。虽然JMF在当前环境中可能不是首选,但它仍然是理解多媒体处理和...
下面是一个简单的示例: ```java import javax.media.Manager; import javax.media.MediaLocator; public class JMFExample { public static void main(String[] args) { try { // 创建MediaLocator对象,指定...
### JMF教程详解及简单例子分析 #### 一、关于此指南 本指南旨在帮助读者了解Java Media Framework(简称JMF)的基础知识及其在实际应用中的实现方式。JMF是Sun Microsystems开发的一个Java API,用于处理多媒体...
尽管JMF提供了一种相对简单的方式来处理多媒体,但它有一些局限性,比如对新格式的支持不足,性能可能较低,以及对现代硬件的兼容性问题。因此,许多开发者转向了其他更现代的解决方案,如JavaFX的`MediaView`,或者...
为了演示JMF的基本用法,一个简单的例子可能包括以下步骤: 1. 导入必要的JMF库。 2. 加载和实例化DataSource,这可能涉及文件路径或URL。 3. 创建Player对象,并关联DataSource。 4. 调整Player状态,使其从...
首先,`Java Media Framework (JMF) API播放.exe` 是一个可执行文件,可能是JMF的安装程序或者一个简单的演示应用程序,用于展示JMF如何处理和播放多媒体内容。这个程序可能包含了JMF的核心组件,让开发者可以快速...
JMF提供了丰富的API,使得在Java应用程序中集成多媒体功能变得简单。"JMF.zip_JMF W_Java 播放器_hookqq_jmf_jmf-2_0-spec"这个压缩包包含了一个基于Java开发的媒体播放器示例,适用于初学者学习和理解JMF的用法。 ...
例如,可以创建一个简单的应用程序来演示如何使用JMF播放媒体文件。代码中可能包含以下组件: - javax.media:包含处理媒体捕获、处理和播放所需的类和接口。 - javax.media.protocol:定义了媒体源和媒体数据接收...
本教程旨在为初学者提供一个入门的起点,通过几个实际的示例展示 JMF 的基本用法。 ### 1. 下载和安装 JMF 首先,你需要下载适合你操作系统(如 Windows, Solaris, Linux)的 JMF 版本。推荐选择与操作系统匹配的...
4. **测试安装**:运行示例程序或者自己编写的简单程序,验证JMF是否正确安装并工作。 在实际项目中,开发者可能还需要关注性能优化、错误处理、多媒体数据的编码解码等问题。同时,由于JMF的更新相对较慢,可能...
7. **示例代码**:下面是一个简单的JMF播放音频文件的示例: ```java import javax.media.Manager; import javax.media.MediaLocator; import javax.media.Player; public class JmfPlayer { public static ...
在JMF的子文件中,可能会包含实际的代码示例,这些示例展示了如何创建一个多线程的JMF应用程序。通过这些实例,你可以看到如何在不同线程中启动Player,以及如何处理线程间的通信和协作。你可能还会找到关于错误处理...
5. **示例代码**:可能提供了一些简单的示例,展示如何在Java程序中使用这个MP3插件。 在实际使用中,开发者需要将这个插件集成到他们的项目中,通常是通过将相关的库文件添加到项目的类路径中,并按照文档指示进行...
总的来说,"jmf播放器_java"是一个简单的示例,展示了如何使用Java和JMF库来构建多媒体播放器。虽然它的功能有限,但对于学习JMF和多媒体处理的初学者来说,是一个很好的起点。然而,在实际项目中,考虑使用更现代和...
以下是一段简单的代码示例,展示了如何使用JMF获取麦克风输入: ```java import javax.media.*; import javax.media.control.*; public class MicrophoneCapture { public static void main(String[] args) { ...
接下来,我们来看一段简单的Java程序,该程序利用JMF播放视频: ```java import java.applet.*; import java.awt.*; import java.awt.event.*; import java.net.*; import java.io.*; import javax.media.*; ...
- 示例:提供简单的代码示例,帮助开发者快速上手。 - 故障排查:解决常见问题和错误的策略。 3. **开发指南** 开发指南是针对JMF编程的深入教程,涵盖以下主题: - 媒体播放:如何加载、解码和播放多媒体文件...
在描述中提到的"本机测试只能一个传一个接并展示,除非多个摄像头",这意味着这个示例可能是一个简单的点对点视频传输应用。在单个主机上运行时,可能只能同时支持一个发送者和一个接收者,这可能是因为JMF的实现...