JMF捕获技术(视频)

王朝other·作者佚名  2007-01-11
窄屏简体版  字體: |||超大  

JMF捕获技术(视频)

想要得到视频信号,首先应该先安装Java Media Framework2.1.1.e,并进行初始化,获得音频视频驱动.

JMF通过MediaLocator(类似URL的一种媒体信息定位)来确定视频,音频或者某个音频文件在计算机中的具体位置.例如视频为vfw:Microsoft WDM Image Capture(Win32):0,多媒体文件为 file:c:\\music\123.mp3.

知道了它的媒体信息的位置后,就可以构造一个播放器(MediaPlayer或有同样功能的Player),播放就可以了.

使用MediaPlayer的start方法就可以启动播放器了,隐藏了具体的播放细节.JMF播放器有它的生存周期,分别是Unrealized,Realizing,Realized,Prefetching,Prefetched Started.通过监听器来由JVM来控制各种状态的转换,通过realize方法使播放器达到Realized状态,一旦达到这个状态,监听器检测到,我们再使用prefetch方法达到Prefetched状态,然后再调用start方法播放,就可以完成播放任何媒体的功能了,简单吧!

捕获视频代码

class CaptureVideo extends Frame implements ControllerListener {

private CaptureDeviceInfo infor ;

private MediaLocator mediaLocator ;

private String url = “vfw:Microsoft WDM Image Capture (Win32):0”;

private Component com;

private Panel panel ;

MediaPlayer player;

public CaptureVideo() {

infor = CaptureDeviceManager.getDevice(url);

mediaLocator = infor.getLocator();

}

public void paly() {

try {

player = Manager.createPlayer(mediaLocator);//利用mediaLocator创建Player

player.addControllerListener(this);

player.realize();

} catch (NoPlayerException e) {

// TODO 自动生成 catch 块

e.printStackTrace();

} catch (IOException e) {

// TODO 自动生成 catch 块

e.printStackTrace();

}

public void createComponent() {

setTitle("视频信号");

addWindowListener(new WinClose());

setBounds(100,100,200,200);

panel = new Panel();

if((com = player.getVisualComponent()) != null) {

panel.add(com);

}

add(panel);

setVisible(true);

}

public synchronized void controllerUpdate(ControllerEvent arg0) {

// TODO 自动生成方法存根

if(arg0 instanceof RealizeCompleteEvent) {

System.out.println("realized");

createComponent(); //将播放器添加到Panel上

player.prefetch();

}

if(arg0 instanceof PrefetchCompleteEvent) {

player.start();

System.out.println("prefetched");

}

}

}

public class test {

public static void main() {

CaptureVideo video = new CaptureVideo();

video.player();

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航