[英]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.