2013-12-12 45 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