2013-12-12 73 views
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_SIZE_LIMIT, 1099648L); 
intent.putExtra(MediaStore.EXTRA_FINISH_ON_COMPLETION, true); 

intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file 
                 // name 
// start the video capture Intent 
startActivityForResult(intent, CAMERA_CAPTURE_VIDEO_REQUEST_CODE); 

這可能嗎?或者我是否需要使用MediaRecorder來自定義視頻設置。 任何想法將不勝感激。

+0

如果可以用MediaRecorder記錄,而不是使用ACTION_VIDEO_CAPTURE意圖的視頻,你可以以像素爲單位設置視頻大小。 – Shashika

+0

我可以的。但是我只要可能,我想使用ACTION_VIDEO_CAPTURE可以使用外部攝像機,而不是爲媒體錄像機創建另一個類別,而外部攝像機或本地攝像機已經有很多設置或功能 –

回答

1

設置最低分辨率可能不是好的方法,但這是你唯一能做的事情,我試圖設置一箇中等分辨率但失敗。

intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0); //sets lowest resolution 
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); //sets highest resolution 

但問題是,三星相機的應用程序忽略在這種情況下,意圖演員。這一行爲在所有三星設備中都是相同的。但是這在Google Nexus設備上正常工作。
我嘗試了摩托車,它工作正常。

對於一些人,如hereEXTRA_VIDEO_QUALITY正在工作正好相反,因爲它預計工作。如果我們通過1,視頻質量會更差,而0將是最好的。 可悲的是這didnt爲我工作:(

+0

感謝您的0和1標誌EXTRA_VIDEO_QUALITY。 – okarakose

+0

@Salmaan是三星EXTRA_VIDEO_QUALITY錯誤仍然存​​在? – Woppi