我如何在 andorid 中录制低分辨率视频以上传到服务器为什么因为在 android 中录制的视频即使是 3 秒的视频也有 3 MB 的大小。我已经搜索了一路请帮帮我
2 回答
如果您使用 MediaStore.ACTION_VIDEO_CAPTURE 意图,则可以通过将 MediaStore.EXTRA_VIDEO_QUALITY 额外设置为 0 来调整质量以获取较低质量的视频,如果您直接访问相机 API,则必须调整相机通过个人资料MediaRecorder.setProfile()
。这是来自 Android 开发者网站的示例。
根据MediaStore文档,ACTION_VIDEO_CAPTURE
可以发送标准 Intent 操作以让相机应用程序捕获视频并返回它。
来电者可能会传入一个额外的参数EXTRA_VIDEO_QUALITY
来控制视频质量。
用于控制录制视频质量的 Intent-extra 的名称。这是一个整数属性。当前值 0 表示低质量,适用于彩信,值 1 表示高质量。将来可能会添加其他质量级别。
所以你可以像下面这样使用它,
Intent intent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_VIDEO_QUALITY, 0);
startActivityForResult(intent, REQUEST_VIDEO_CAPTURED);
与正常意图相比,这将以低质量录制视频。但是在某些情况下,例如录制更多时间也可能会导致视频大小增加。
所以你也可以寻找EXTRA_SIZE_LIMIT和EXTRA_DURATION_LIMIT来设置Specify the maximum allowed size和Specify the maximum allowed recording duration in seconds。
另一方面,如果这些东西不起作用或不合适,您可以正常录制视频并在上传到服务器时压缩视频。它将减小视频的大小。
查看此示例以进行视频压缩。