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

标签 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 的虚拟设备上对其进行了测试。在以前的版本中,一切都按我的意愿工作。

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

最佳答案

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

还有其他限制视频长度的方法吗?

当您将工作委托(delegate)给第三方应用程序时则不然。欢迎您使用相机API,自己直接录制视频。或者,如果您关心的不是设备上的视频,而是您需要上传的某些子集,请研究如何切掉视频的前 10 秒,然后上传该 fragment 。

这个答案是直接从这个问题编译而来的:MediaStore.EXTRA_DURATION_LIMIT Not working Nexus Devices?

关于android - 如何在 Android 7 中限制 MediaStore 的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40300067/

相关文章:

android - 显示某个TextView时如何使按钮消失?

Android 日志中充斥着有关 "resource <address>, entry index(<number>) is beyond type entryCount(<number>)"的警告

java - 如何在 Android 上使用 Google Maps Directions API?

android - 在 Android Q 上查询 MediaStore

android - 如何在不使用MediaStore.Images.Media.DATA的情况下使用uri获取图像真实路径

java - 在 android 中使用 rxjava 停止长轮询

android - BluetoothAdapter.getDefaultAdapter();返回空

android - 在加载图库之前刷新设备上的所有缩略图?

android - 无法删除使用 MediaStore 插入的图像

Android - 使用 Intent 选择要播放的歌曲