我正在使用LG Nexus(6.0)。当我使用相机使用以下代码捕获视频时。
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO);
// set video quality
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
我已使用以下代码给出了持续时间限制。
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30);
相机似乎忽略了持续时间限制。在任何6.0设备上,它都不起作用。还有另一种方法可以限制6.0 +设备上的捕获视频持续时间吗?
答案 0 :(得分:4)
相机似乎忽略了持续时间限制。在任何6.0设备上它都不起作用。
有大约20亿台Android设备,分布在数百家制造商的数千种设备型号中。这些设备将有数百种不同的预装相机应用程序,以及可能由用户安装的相机应用程序。它们中的任何一个都可以响应ACTION_VIDEO_CAPTURE
请求,并且其中任何一个都可能有错误。此问题与Android操作系统版本无关。
还有其他方法可以限制6.0 +设备上的捕获视频时长吗?
不在ACTION_VIDEO_CAPTURE
。您将工作委托给第三方应用程序,该应用程序可以执行任何操作。
如果您想要完全控制,请直接在您自己的代码中或通过某些第三方库使用MediaRecorder
。