2017-06-28 151 views
3

我正在使用LG Nexus(6.0)。当我使用相机使用下面的代码捕捉视频时。在Android MediaStore.EXTRA_DURATION_LIMIT不工作在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

我还验证了此问题仅适用于版本大于“2.5.052(2005148-30)”的Google相机应用。 目前,在Play商店中,Google相机应用版本为“3.2.045(2821762-30)”,通过使用此版本您可以轻松再现此问题。之前Google Camera EXTRA_DURATION_LIMIT正在使用V2.5.052。 –

+0

任何解决方案? –

回答

2

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

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

有没有其他方法来限制6.0 +设备上的捕获视频持续时间?

不与ACTION_VIDEO_CAPTURE。您正在将工作委托给第三方应用程序,并且该应用程序可以执行任何想要的操作。

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

+0

我还验证了此问题仅适用于版本大于“2.5.052(2005148-30)”的Google相机应用。 目前,在Play商店中,Google相机应用版本为“3.2.045(2821762-30)”,通过使用此版本您可以轻松再现此问题。之前Google Camera EXTRA_DURATION_LIMIT正在使用V2.5.052。 –

相关问题