2017-06-28 55 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。 –

相關問題