Android getsupportedvideosizes在模拟器上返回null

时间:2012-12-18 11:43:12

标签: android camera

我试图在模拟器中获得支持的视频大小,但它总是返回null。为什么会这样?我已经尝试过4.03。提前谢谢

 Camera camera=Camera.open();
    android.hardware.Camera.Parameters params = camera.getParameters();
    supportedPicSizes = params.getSupportedVideoSizes();
    if (supportedPicSizes==null){
        Log.i("*****supportedVideoSize*****", "*****Null****"); 
    }

4 个答案:

答案 0 :(得分:0)

这是known Android bug

这仍然尚未修复,但事实上它是在错误跟踪系统上,这可能意味着谷歌有计划通过它。

答案 1 :(得分:0)

以下是您可以获取Camera Preview Size设备的选项之一。

Camera camera=Camera.open();
android.hardware.Camera.Parameters params = camera.getParameters();
Size supportedPicSizes = params.getPreviewSize();
if (supportedPicSizes==null){
      Log.i("*****supportedVideoSize*****", "*****Null****"); 
}
else{
      Log.i("*****supportedVideoSize*****", "*****"+supportedPicSizes.height); 
      Log.i("*****supportedVideoSize*****", "*****"+supportedPicSizes.width); 
}

希望它对你有所帮助。

感谢。

答案 2 :(得分:0)

明确指出here此方法的null返回意味着设备不支持预览和视频的不同输出。在仿真器的情况下,这种情况必须突出,因为仿真器没有物理摄像头,通常不用于测试与摄像头相关的模块。

我想补充一点,即使文件指出这是一个正常的情况,我仍然无法为遭受这种疾病的设备找到合适的替代方案。例如,S3的Verizon变体对“getSupportedVideoSizes()”和“getPreferredPreviewSizeForVideo()”都返回null。有没有人经历过这个问题?非常感谢帮助。

答案 3 :(得分:0)

answered also here

示例代码:

public List<Size> getSupportedVideoSizes(Camera camera) {
    if (camera.getParameters().getSupportedVideoSizes() != null) {
        return camera.getParameters().getSupportedVideoSizes();
    } else {
        // Video sizes may be null, which indicates that all the supported
        // preview sizes are supported for video recording.
        return camera.getParameters().getSupportedPreviewSizes();
    }
}