最近项目要求能对视频和语音进行同步合成,以及对视频进行画面与语音的分离功能,由于没有接触过这类东西,所以想从最基础做起,于是在网上找到sun公司开源的jmf架构,看到网上也有不少小例子,就开始对安装jmf并配置了开发环境,将小例子粘到自己的新建工程下,结果发现不好用,没办法自己也顺手写了一个都发生同样的问题,希望有经验的朋友能够帮助解决一下。
我现在干脆就用网上的一个例子来说明问题,实现的功能是,利用点击拍照按钮能,启动摄像头并将捕捉摄像头的画面将生成图片保存到物理硬盘中,出错代码如下:
public class FirstCapture extends JPanel implements ActionListener{
private CaptureDeviceInfo captureDeviceInfo=null;
private MediaLocator mediaLocator=null;
private static Player player=null;
private ImagePanel imagePanel=null;
private JButton capture;
private Buffer buffer=null;
private VideoFormat videoFormat=null;
private BufferToImage bufferToImage=null;
private Image image=null;
public FirstCapture()
{
setLayout(new BorderLayout());
setSize(320,550);
[color=red]String str="vfw:Microsoft WDM Image Capture (Win32):0";
captureDeviceInfo=CaptureDeviceManager.getDevice(str); //这个是62行
MediaLocator mediaLocator=captureDeviceInfo.getLocator();[/color]
imagePanel=new ImagePanel();
capture=new JButton("拍照");
capture.addActionListener(this);
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
出现的异常是:
[color=green]Exception in thread "main" java.lang.NullPointerException
at com.creatplay.FirstCapture.(FirstCapture.java:62)
at com.creatplay.FirstCapture.main(FirstCapture.java:100)[/color]
[b]问题补充:[/b]
firefly.li ,谢谢你能回答我的问题,对你的热心我非常感谢,我的摄像头完全可以很好的工作,驱动没有错误,而且现在发现在捕捉话筒硬件时也是存在和捕捉摄像头相同的问题,实在是困惑不已