在Android MediaStore.EXTRA_DURATION_LIMIT中无法在6.0和uper版本设备中运行

时间:2017-06-28 12:35:03

标签: android video video-capture android-video-player

我正在使用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 +设备上的捕获视频持续时间吗?

1 个答案:

答案 0 :(得分:4)

  

相机似乎忽略了持续时间限制。在任何6.0设备上它都不起作用。

有大约20亿台Android设备,分布在数百家制造商的数千种设备型号中。这些设备将有数百种不同的预装相机应用程序,以及可能由用户安装的相机应用程序。它们中的任何一个都可以响应ACTION_VIDEO_CAPTURE请求,并且其中任何一个都可能有错误。此问题与Android操作系统版本无关。

  

还有其他方法可以限制6.0 +设备上的捕获视频时长吗?

不在ACTION_VIDEO_CAPTURE。您将工作委托给第三方应用程序,该应用程序可以执行任何操作。

如果您想要完全控制,请直接在您自己的代码中或通过某些第三方库使用MediaRecorder