大佬教程收集整理的这篇文章主要介绍了android捕获视频帧,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
public static Bitmap getVideoFrame(Context context,Uri videoUri) { MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { retriever.setMode(MediaMetadataRetriever.MODE_CAPTURE_FRAME_ONLY); retriever.setDatasource(context,videoUri); return retriever.captureFrame(); } catch (IllegalArgumentexception eX) { throw new RuntimeException(); } catch (RuntimeException eX) { throw new RuntimeException(); } finally { retriever.release(); } }
但这不起作用.当我设置数据源时,它抛出异常(java.lang.RuntimeException:setDatasource Failed:status = 0x80000000).你知道怎么让这段代码工作吗?或者你有没有使用ffmpeg或其他外部库的类似(简单)解决方案? videoUri是一个有效的uri(媒体播放器可以播放来自该URI的视频)
public static Bitmap getVideoFrame(FileDescriptor FD) { MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { retriever.setDatasource(FD); return retriever.getFrameAtTime(); } catch (IllegalArgumentexception eX) { ex.printStackTrace(); } catch (RuntimeException eX) { ex.printStackTrace(); } finally { try { retriever.release(); } catch (RuntimeException eX) { } } return null; }
如果您使用路径而不是filedescriptor也可以.
以上是大佬教程为你收集整理的android捕获视频帧全部内容,希望文章能够帮你解决android捕获视频帧所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。