获取视频中某一帧的图片抛出参数异常
先贴上解决方法
public static Bitmap retriveVideoFrameFromVideo(String videoPath)
throws Throwable
{
Bitmap bitmap = null;
MediaMetadataRetriever mediaMetadataRetriever = null;
try
{
mediaMetadataRetriever = new MediaMetadataRetriever();
if (Build.VERSION.SDK_INT >= 14)
mediaMetadataRetriever.setDataSource(videoPath, new HashMap<String, String>());
else
mediaMetadataRetriever.setDataSource(videoPath);
// mediaMetadataRetriever.setDataSource(videoPath);
bitmap = mediaMetadataRetriever.getFrameAtTime();
}
catch (Exception e)
{
e.printStackTrace();
throw new Throwable(
"Exception in retriveVideoFrameFromVideo(String videoPath)"
+ e.getMessage());
}
finally
{
if (mediaMetadataRetriever != null)
{
mediaMetadataRetriever.release();
}
}
return bitmap;
}
可知根据安卓版本的不同采用不用的方法。api大于14的时候要传
new HashMap<String, String>()

本文提供了一种根据不同Android API版本抓取视频帧的方法,并解决了在此过程中可能遇到的参数异常问题。通过条件判断,使用适合当前设备版本的设置数据源方式,确保了方法的兼容性和稳定性。
8149

被折叠的 条评论
为什么被折叠?



