1

有人可以帮我解决关于使用 rtsp 数据源从 videoview 获取当前帧的问题。我已经从这个博客学习了这个教程。在这段代码中,当用户决定从视频视图中捕获当前帧时,将显示位图图像:

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();
}

我得到一个空值。经过几个小时的研究,许多人说这个链接中的 FFmpegMediaMetadataRetriever 库可以处理 rtsp 协议。我将如何应用这个库?我已经下载了它,在 eclipse 上导入,并将它作为库添加。似乎当我调用这个类库时:

FFmpegMediaMetadataRetriever mMediaMetadataRetriever = new FFmpegMediaMetadataRetriever();

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

4

0 回答 0