我正在尝试获取视频帧,所以我正在使用 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);
但问题是我得到:
MediaMetadataRetriever getFrameAtTime:视频帧是空指针
在 logCat 中。
我确定该视频与 android 操作系统兼容,并且 MediaMetadataRetriever 会加载它,因为我可以在 2.3.3 操作系统版本中毫无问题地获取它的元数据描述。
我不知道为什么我无法获得框架,但如果我使用 4.2 操作系统版本,它可以完美运行。我试图更改视频的编解码器和格式,但它不起作用......我想这是格式兼容性的问题,但我不知道我能做什么......
谢谢!!