2011-09-17 81 views
-1

我需要能够在运行Android 2.2(或更高版本)或Android 3.0及更高版本的设备上以高(720 x 480)或低(360 x 240)录制MP4视频。目前我可以记录在所有设备上,但每个设备上的分辨率不同,我无法弄清楚如何强制每个设备以上述分辨率进行记录。请给我一个代码示例。从相机录制视频Java Android

+0

你可能无法。并非所有设备都相同 – Drakosha

+0

如果我知道我的设备支持此视频大小,我如何通过我的任务设置大小? – user916350

回答

0

每个设备都有自己的支持的视频大小列表。您需要使用getSupportedVideoSizes方法获取该列表并选择一个接近您的要求的方法。

这里是一个能够返回支持的尺寸列表的方法(而任何其他相机或MediaRecorder对象初始化之前应该叫):

List<Camera.Size> getSupporteVideoSizes() { 
    Camera camera = null; 
    try { 
     camera = Camera.open(); 
     Camera.Parameters params = camera.getParameters(); 
     return params.getSupportedVideoSizes(); 
    } 
    finally { 
     if (camera != null) 
      camera.release(); 
    } 
} 
+0

谢谢。我没有找到适合我的工作的例子。你有没有用摄像机制作任何东西? – user916350

+0

是的,我正在使用来自相机的视频,但我不需要视频录制,因此我没有完整的代码示例用于共享。 –