这个问题在这里已经有了答案:
9年前关闭。
我正在尝试在自定义 SurfaceView 中设置相机预览,但每次执行初始化方法时都会出现异常。
下面是相机预览初始化的代码:
private void init(Context context)
{
setFocusable(true);
mRecording = false;
fileRW = new FileReaderWriter();
frameCount = 0;
if(mCamera == null)
{
mCamera = Camera.open();
}
Parameters parameters = mCamera.getParameters();
parameters.setPictureFormat(PixelFormat.JPEG);
mCamera.setParameters(parameters);
try {
mCamera.setPreviewDisplay(surfaceHolder);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mCamera.startPreview();
}
每次我尝试执行该方法时,
mCamera.setPreviewDisplay(surfaceHolder);
行都会引发异常( setPreviewDisplay failed
)。有谁知道可能有什么问题?我真的很感激你的任何帮助。
谢谢!`
最佳答案
我完全同意乔恩·布莱特
我无法弄清楚发生了什么一周,我忽略了表面支架上的 setType 因为 SDK 说它已被弃用,即。
但是如果你不这样做,它会在 setPreview 上崩溃。这是在具有 2.1 的 Galaxy S 上运行 1.5 SDK(我需要它向后兼容)。所以一定要设置好类型。不像文档所说的那样自动。
关于android - Camera.setPreviewDisplay() 抛出异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1048739/