有人可以帮我解决关于使用 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。我在正确的轨道上吗?有人可以指导我吗?