MediaMetadataRetriever getFrameAtTime:videoframe是一个空指针

时间:2013-07-19 10:32:56

标签: android frame media null-pointer

我试图获取一个视频帧,所以我使用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操作系统版本,它可以完美运行。我试图改变编解码器和视频的格式,但它不起作用......我想这是格式兼容性的问题,但我不知道我能做什么......

谢谢!

1 个答案:

答案 0 :(得分:2)

实际上我正在使用来自this external library的FFmpegMediaMetadataRetriever类并且效果很好!!