设置Videocamera分辨率android

时间:2014-09-05 21:36:19

标签: android android-camera

大家好,如何设置我的Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);以320x480的分辨率拍摄视频,而不是默认的1960x1080,以避免视频尺寸过大?

2 个答案:

答案 0 :(得分:3)

尝试将EXTRA_VIDEO_QUALITY设置为0,但不能保证任何意图提供者都会尊重您的EXTRA。

<强>解释

Android推出了 Intents 的应用间合作机制。这个想法是任何应用程序都可以向系统声明它知道如何处理例如,例如, 创建视频,最终用户可以选择此应用以便下次完成任务,或成为此类操作的默认处理程序。动作被定义为字符串,并且是无限可扩展的;但谷歌确实定义了一些“标准”动作字符串;例如"android.media.action.VIDEO_CAPTURE"

因此,我可以将应用程序上传到Play商店,声称它知道如何处理这个着名的Intent,而不是打开录像机,从YouTube下载视频。安装我的应用的用户将被提示在他们使用的任何应用中使用它,以便捕获视频。我相信如果某个应用程序严重违反了Intent“合同”,Google迟早会将其从Play商店中删除。

但坚持所有_EXTRA_s,如_VIDEO_QUALITY_,并不是Android中严格执行的要求。更糟糕的是,一些内置应用程序,例如您的设备上的相机可能不太符合http://developer.android.com/reference/android/provider/MediaStore.html的规格,不幸的是,设备制造商经常选择用他们自己的创作替换AOSP相机应用程序,但效果不佳。

因此,如果您的应用(无论是原生应用还是网络应用)在设备上请求视频,则无法控制哪个应用为您提供视频,以及它将如何完成任务。您必须使用多个视频应用测试您的应用,以确保您的应用能够幸免于对我所依赖的不同视频应用的合同的一些误解。您可以建议您的用户安装和使用您认为最适合您的任务的某些视频捕获应用。

我建议你尝试安装并使用至少 Google Camera app - 这个至少来自一个已知来源。

您可能会发现其他电话空闲开发者的咆哮很有意思: Limitations of Video Capture in Phone Gap + Native Plugins

答案 1 :(得分:0)

android没有任何权限可以更改摄像机分辨率,您可以在录制视频后使用ffmpeg实现它 这是一个演示代码http://androidwarzone.blogspot.com/2011/12/ffmpeg4android.html