设置摄像机分辨率android



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

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

解释

安卓系统引入了Intents的应用程序间合作机制。这个想法是,任何应用程序都可以向系统声明它知道如何处理的操作,例如创建视频,最终用户可以选择此应用程序来完成下一次的任务,或者成为此类操作的默认处理程序。动作被定义为字符串,并且是无限可扩展的;不过,谷歌确实定义了一些"标准"动作字符串;例如CCD_ 2。

因此,我可以将一个应用程序上传到Play Store,声称它知道如何处理这个众所周知的Intent,然后从YouTube下载视频,而不是打开录像机。安装我的应用程序的人,将被提示在中使用它,他们使用的任何要求捕获视频的应用程序。我相信,如果一个应用程序严重违反意向"合同",谷歌迟早会将其从Play商店中删除。

但是,在安卓系统中,遵守所有_EXTRA_s(如_VIDEO_QUALITY_)并不是一个严格执行的要求。更糟糕的是,一些内置的应用程序,例如你设备上的库存相机,在遵循http://developer.android.com/reference/android/provider/MediaStore.html,不幸的是,设备制造商经常选择用自己创建的应用程序取代AOSP相机应用程序,但效果不佳。

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

我建议你至少尝试安装并使用谷歌相机应用程序——这个应用程序至少来自已知来源。

你可能会发现阅读另一位phonegap开发人员的咆哮很有趣:Phone Gap+Native Plugins中视频捕获的限制

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

最新更新