Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android FFmpegFrameGrabber启动()失败_Android_Javacv - Fatal编程技术网

Android FFmpegFrameGrabber启动()失败

Android FFmpegFrameGrabber启动()失败,android,javacv,Android,Javacv,我正在尝试建立一个应用程序,可以从磁盘处理视频。JavaCV库为抓取帧提供了必要的工具。由于某种原因,我的程序在调用FrameGrabber.start()时崩溃 我不确定我做错了什么,我是新的android编程。我搜索过类似的案例。还没有在网上找到一个类似于我的 任何帮助都将不胜感激 这是我实现的代码 package test.trackerproto; 导入android.content.Intent; 导入android.os.Bundle; 导入android.support.v7.a

我正在尝试建立一个应用程序,可以从磁盘处理视频。JavaCV库为抓取帧提供了必要的工具。由于某种原因,我的程序在调用FrameGrabber.start()时崩溃

我不确定我做错了什么,我是新的android编程。我搜索过类似的案例。还没有在网上找到一个类似于我的

任何帮助都将不胜感激

这是我实现的代码

package test.trackerproto;
导入android.content.Intent;
导入android.os.Bundle;
导入android.support.v7.app.ActionBarActivity;
导入android.util.Log;
导入com.googlecode.javacv.FFmpegFrameGrabber;
导入com.googlecode.javacv.Frame;
公共类保存的\u进程扩展了ActionBarActivity{
字符串文件路径;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u ffile);
//VideoView显示=(VideoView)findViewById(R.id.videoView1);
Intent=getIntent();
FilePath=intent.getStringExtra(“路径”);
FFmpegFrameGrabber-vidcap;
//display.setVideoPath(FilePath);
vidcap=新的FFmpegFrameGrabber(this.FilePath);
Log.i(camera.TAG,“Framegrab启动”);
帧当前帧=空;
尝试
{
vidcap.setFormat(“mp4”);
Log.i(camera.TAG,“帧集”);
vidcap.start();
}catch(com.googlecode.javacv.FrameGrabber.Exception e)
{           
Log.e(camera.TAG,“未能启动抓取器”+e);
}
做
{
尝试
{
cur_frame=vidcap.grabFrame();
如果(当前帧!=null){
Log.i(camera.TAG,“抓取成功”);
}
}catch(com.googlecode.javacv.FrameGrabber.Exception e)
{
Log.e(camera.TAG,“视频采集帧失败:”+e);
}
}while(cur_frame!=null);
尝试
{
vidcap.stop();
}catch(com.googlecode.javacv.FrameGrabber.Exception e)
{
Log.e(camera.TAG,“无法停止视频采集器”,e);
回来
}
}

}
我解决了这个问题。使用的javacv版本是0.7,这个版本有类似的问题(据我所知,0.10以下的大多数版本都有类似的问题)。截至发布日期的最新版本是0.11,使用它解决了我的问题。我把这个留在这里,如果它能帮助别人的话

建议,尝试加载ffmpeg-@Manoj的静态库。您是否更改了javacv.jar文件或任何其他jar/so文件。请回复,因为我遇到了相同的问题。我标记的另一件事是,旧版javacv中存在com.googlecode.javacv.cpp.opencv_core.IplImage的静态导入,但该类或cpp包未包含在javacv-0.11.jar中