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