我已经更新了该网站,现在有两个源文件的副本,一个使用EGL 1.0,另一个使用EGL 1.4。我用SDK进行了快速测试,创建了一个API 16的应用程序,以确认它不再使用post-4.1 API。但是我还没有在运行4.1的实际设备上尝试过。
您可以使用MediaMetadataRetriever.getFrameAtTime从视频文件中提取帧。它自API级别10起可用。
getFrameAtTime()
的另一个问题是它基于时间而不是基于帧。如果视频没有以恒定的帧速率录制,可能会出现几帧,然后几秒钟没有任何内容,然后再出现几帧等情况,这将导致不必要地“创建”帧。根据数据的预期用途,这可能重要也可能不重要。(请参见4.4的 screenrecord
,这是一种以此方式记录视频的示例——仅在屏幕更改时输出一帧。) - fadden