如何限制Android 7中MediaStore的持续时间

时间:2016-10-28 07:22:33

标签: android mediastore

Android 7中MediaStore的持续时间限制是什么?文档中没有任何内容,但自从sdk版本24开始,设备就会录制一个没有任何限制的视频。

final Activity activity = (Activity) context;
String controlId = videoInput.getControlId();
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
if (videoInput.getMaxDuration() > 0) {
    intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, videoInput.getMaxDuration());
}
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, videoInput.getRecordQuality().ordinal());
int requestCode = ActivityResultBus.getInstance().generateRequestCode(new SBundle(controlId));
activity.startActivityForResult(intent, requestCode);

我在带有Android 7.0的真正的摩托罗拉Nexus 6和带有7.0和7.1.1的虚拟设备上进行了测试。在以前的版本中,所有工作都可以。

我的extras捆绑包有问题吗? enter image description here

1 个答案:

答案 0 :(得分:0)

“不要求任何相机应用程序遵守EXTRA_DURATION_LIMIT。这是请求,而不是命令”

限制视频长度的其他任何方式?

不是在将作品委托给第三方应用时。欢迎您使用相机API并直接录制视频。或者,如果您关心的不是设备上的视频,而是您需要上传的某个子集,请查看如何切断视频的前10秒,然后上传该片段。

这个答案直接来自这个问题:MediaStore.EXTRA_DURATION_LIMIT Not working Nexus Devices?