2017-09-27 44 views
0

我想限制用戶對capturing videolimit達到15兆字節,但在Android 7個設備MediaStore.EXTRA_SIZE_LIMIT沒有working.Is有任何替代這樣做還是有一些變化對於同樣的要求MediaStore.EXTRA_SIZE_LIMIT沒有在Android平臺7

Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); 
    if (takeVideoIntent.resolveActivity(getPackageManager()) != null) { 
     // set the video image quality to high 
     takeVideoIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0); 
     //takeVideoIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT,30); //30 sec 
     takeVideoIntent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, 15728640L); //15*1024*1024=15MiB(15728640L)//50*1024*1024=50MiB(52428800L) 
     startActivityForResult(takeVideoIntent, RESULT_CAPTURE_VIDEO);` 
+0

嘗試'intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT,10);'它會一次限制,在我的銀河系s7邊緣API 24上工作,確定多少時間15MB的持續時間和更改持續時間。 –

+0

實際上,不能限制用戶在特定時間需要限制尺寸。 –

回答

1

在Android 7個設備MediaStore.EXTRA_SIZE_LIMIT不工作

這有什麼好做操作系統或其版本。您正在要求第三方相機應用程序錄制視頻並限制其大小。這是由相機應用程序的實施者來履行你的要求。在任何版本的Android上,都不需要任何相機應用程序來遵守您的請求。考慮這個限制是一個暗示,而不是需求。

是否有任何替代這樣做

自己寫的視頻錄製攝像機的邏輯,直接或者可能使用MediaRecorder通過包裝庫(例如,CameraKit-Android的)。

+0

由於相同的代碼片段適用於7之前的操作系統版本,這就是我認爲這可能是由於版本7 –

+0

@shekharshrivastava:「因爲相同的代碼片段適用於7之前的操作系統版本」 - 不,它適用於您恰好在Android 6.0及更低版本上測試的*特定相機應用*。有大約20億個Android設備,分佈在數百個製造商的約10,000個設備模型中。有數百種內置相機應用程序,還有數百種可從Play商店和其他應用程序分銷渠道下載。許多人會尊重'EXTRA_SIZE_LIMIT',但沒有必要,並不是所有人都會尊重它。 – CommonsWare

+0

好的非常感謝你的信息:) –