我已经将视频视为输入。现在决定用它来获取帧,所以我使用了MediaMetadataRetriever()
。使用后只得到第一帧。那么有人可以向我提出补救措施吗?
String STR = (String) Environment.getExternalStorageDirectory().getAbsolutePath();
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(STR+"/vd.3gpp");
img = (ImageView) findViewById(R.id.imageView1);
img.setImageBitmap(retriever.getFrameAtTime(1000,MediaMetadataRetriever.OPTION_NEXT_SYNC));
提前致谢。
答案 0 :(得分:1)
此时:
img.setImageBitmap(retriever.getFrameAtTime(1000,MediaMetadataRetriever.OPTION_NEXT_SYNC));
您正在检索一个帧并正好设置一个位图。 你需要的是一个循环,如:
int videoLength = /* get video length from some where */
for(int i = 0; i < videoLength; i *= 1000000)
{
img.setImageBitmap(retriever.getFrameAtTime(1000, MediaMetadataRetriever.OPTION_NEXT_SYNC));
}