在我的Android设备上,我可以通过两种方式之一拍摄视频:
1)我可以编写一个自定义类/方法组,这些方法可以让我使用相机并直接控制功能
或
2)我可以使用意图打开视频并进行录制。
这个问题与后者有关(使用意图)。这是我用来制作视频的意图代码:
private void takeVideo(Activity activity, Context context){
//Actual intent used to capture the video
Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
//30 Second time limit (can make it anything, just using 30 here)
takeVideoIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30);
//Utility method I have for generating a uri to use for the video
android.net.Uri myUri = generateVideoUri(context);
//Uri to use
takeVideoIntent.putExtra(MediaStore.EXTRA_OUTPUT, myUri);
//Cap it at 20mb
takeVideoIntent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, 20000000L);
//HERE IS WHERE MY QUESTION LIES //0 is low, 1 is high
takeVideoIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
activity.startActivityForResult(takeVideoIntent, 100);
}
上面的代码工作得很好。我的问题是质量问题。
如果我发送0作为质量,它绝对是可怕的质量(IE,10秒的视频约为0.3mb,似乎是手机可以处理的最低质量)。如果我发送1作为质量,它是不大的和笨重的(IE,10秒的视频大约是50mb)。
请记住some phone makers will ignore the intent extras sent,如何获得用于上传,信息传递等的中等质量视频?
你会建议我做什么来获得'#34;中等质量"视频相对于2个极端的方式太大或太小?
全部谢谢!