Android MediaMetadataRetriever使用FFmpegMediaMetadataRetriever获取帧

时间:2015-01-07 18:15:24

标签: android ffmpeg android-bitmap mediametadataretriever

有人可以帮我解决一下使用rtsp数据源从videoview获取当前帧的问题。我从这个blog开始学习本教程。在此代码中,当用户决定从视频视图中捕获当前帧时,将显示位图图像:

Bitmap bmFrame = mediaMetadataRetriever
  .getFrameAtTime(currentPosition * 1000); //unit in microsecond

if(bmFrame == null){
 Toast.makeText(MainActivity.this, 
   "bmFrame == null!", 
   Toast.LENGTH_LONG).show();
}else{
 AlertDialog.Builder myCaptureDialog = 
   new AlertDialog.Builder(MainActivity.this);
 ImageView capturedImageView = new ImageView(MainActivity.this);
 capturedImageView.setImageBitmap(bmFrame);
 LayoutParams capturedImageViewLayoutParams = 
   new LayoutParams(LayoutParams.WRAP_CONTENT, 
     LayoutParams.WRAP_CONTENT);
 capturedImageView.setLayoutParams(capturedImageViewLayoutParams);

 myCaptureDialog.setView(capturedImageView);
 myCaptureDialog.show();
}

我得到一个空值。经过几个小时的研究,许多人说这个link的FFmpegMediaMetadataRetriever库可以处理rtsp协议。我该如何申请这个图书馆?我已经下载了它,在eclipse上导入,并将其作为库添加。看来,当我调用这个类库时:

FFmpegMediaMetadataRetriever mMediaMetadataRetriever = new FFmpegMediaMetadataRetriever();

我收到一个错误,即java.lang.ExceptionInInitializeError。我是在正确的轨道上吗?有人可以指导我。

0 个答案:

没有答案