繁体   English   中英

如何从视频文件输入中获取连续帧?

[英]How to get continuous frames from a video file input?

我已经把视频作为输入了。 现在决定使用它来获取帧,因此我使用了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));

提前致谢。

这一点:

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));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM