【发布时间】:2011-07-26 23:49:56
【问题描述】:
我正在三星 Galaxy Ace 上测试我的应用程序,我得到了支持的尺寸
cameraParams.getSupportedPictureSizes();
它适用于除 (320 x 240) 之外的所有这些 - 预览变为黑色,我收到此错误:Camera Error 100
【问题讨论】:
-
Colithium:错误 100。它的问题标题:-P
我正在三星 Galaxy Ace 上测试我的应用程序,我得到了支持的尺寸
cameraParams.getSupportedPictureSizes();
它适用于除 (320 x 240) 之外的所有这些 - 预览变为黑色,我收到此错误:Camera Error 100
【问题讨论】:
Camera Error 100 - “媒体服务器死亡。在这种情况下,应用程序必须释放 Camera 对象并实例化一个新对象。”
按照 SDK 所说的去做,释放相机对象并创建一个新对象。
http://developer.android.com/reference/android/hardware/Camera.html
也读一下。可能对你有帮助:Droid's mediaserver dies on camera.takePicture()
【讨论】:
我在三星 Galaxy S3 上遇到错误 100。我的问题在于相机尺寸。我遵循了 android 开发者相机指南,并在 prepareVideoRecorder() 中设置了视频大小 (setVideoSize (widht,height));
但我设置了错误的尺寸,导致相机冻结、崩溃并出现错误 100 和“相机服务器死机”。
解决办法是:
添加下两行
mPreviewHeight = mCamera.getParameters().getPreviewSize().height;
mPreviewWidth = mCamera.getParameters().getPreviewSize().width;
在块中(在surfaceChange方法中):
try {
mPreviewHeight = mCamera.getParameters().getPreviewSize().height;
mPreviewWidth = mCamera.getParameters().getPreviewSize().width;
mCamera.setPreviewDisplay(mHolder);
mCamera.startPreview();
} catch (Exception e){
Log.d(TAG, "Error starting mCamera preview: " + e.getMessage());
}
然后在 prepareVideoRecorder() 中将此参数设置为相机:
mMediaRecorder.setVideoSize(mPreviewWidth, mPreviewHeight);
【讨论】:
我通过删除使用或设置 Camera 参数解决了这个问题:
setAutoWhiteBalanceLock(false);
【讨论】:
当我使用带有 gLSurfaceView 的相机进行预览时出现错误。 我通过评论修复了这个错误
//params.setRecordingHint(true);
【讨论】:
在这种情况下,删除预览格式可能会有所帮助。我将预览格式设置为
param.setPreviewFormat(ImageFormat.YV12);
删除上面的行解决了我的问题。
【讨论】: