我正在尝试获取视频的一帧图像,因此我使用MediaMetadataRetriever.getFrameAtTime()方法,示例如下:
Uri directorio = Uri.parse("android.resource://com.extremeye/" + R.raw.video);
media = new MediaMetadataRetriever();
media.setDataSource(this, directorio);
frame = (ImageView)findViewById(R.id.frame);
Bitmap bmFrame = media.getFrameAtTime();
frame.setImageBitmap(bmFrame);
但问题是我得到了以下错误提示:
我确定该视频与Android操作系统兼容,并且MediaMetadataRetriever已经将其加载,因为我可以在2.3.3版本的操作系统中轻松获取其元数据描述。MediaMetadataRetriever getFrameAtTime: videoframe is a null pointer
我不知道为什么我无法获取帧,但如果我使用4.2版本的操作系统,它就完美地工作。 我尝试更改视频的编解码器和格式,但它不起作用... 我想这可能是格式兼容性的问题,但我不知道我能做什么...
谢谢!