gpt4 book ai didi

android - 在 android 中不工作的相机之间切换

转载 作者:行者123 更新时间:2023-11-30 02:37:17 24 4
gpt4 key购买 nike

我的 Video Recoding 应用程序录制视频,它正在使用后置摄像头工作,现在我也想使用前置摄像头来录制视频。因此用户可以在相机之间切换。用户可以选择他想要录制视频的摄像机。最初,当我的 Activity 加载后置摄像头打开并开始预览时,但是当我单击切换摄像头按钮时,它会给出异常 java.lang.RuntimeException:无法连接到摄像头服务。下面是我切换相机的代码:

private void initRecorder(Surface surface) throws IOException {

try{
if (mCamera != null) {
mCamera.lock();
mCamera.unlock();
mCamera.stopPreview();
mCamera.setPreviewCallback(null);
mCamera.release();
mCamera = null;
mHolder.addCallback(null);
mHolder = null;
}

mHolder = mSurfaceView.getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

if(cameraToOpen==1){
mCamera = Camera.open(Camera.CameraInfo.CAMERA_FACING_BACK);

} else if(cameraToOpen==2){
mCamera = Camera.open(Camera.CameraInfo.CAMERA_FACING_FRONT);
}

mCamera.lock();
mCamera.setDisplayOrientation(90);
mCamera.setPreviewDisplay(mHolder);
mCamera.startPreview();
mCamera.unlock();

}catch(Exception e){

}
}

当用户点击切换相机按钮时 mCamera = Camera.open(Camera.CameraInfo.CAMERA_FACING_FRONT);给出异常(exception)。如何使用两个摄像头。

已编辑:

当我在 Activity 开始时打开前置摄像头时,它工作正常。所以我只能在初始选择该相机时打开两个相机并从两个相机记录。但是当我在相机之间切换时,它给出了无法连接到相机服务的异常。

最佳答案

您可以按照以下说明在相机之间进行切换:

Button otherCamera = (Button) findViewById(R.id.OtherCamera);

otherCamera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (inPreview) {
camera.stopPreview();
}

//NB: if you don't release the current camera before switching, you app will crash
camera.release();

//swap the id of the camera to be used
if(currentCameraId == Camera.CameraInfo.CAMERA_FACING_BACK){
currentCameraId = Camera.CameraInfo.CAMERA_FACING_FRONT;
}
else {
currentCameraId = Camera.CameraInfo.CAMERA_FACING_BACK;
}
camera = Camera.open(currentCameraId);

setCameraDisplayOrientation(CameraActivity.this, currentCameraId, camera);
try {
camera.setPreviewDisplay(previewHolder);
} catch (IOException e) {
e.printStackTrace();
}
camera.startPreview();
}

要在切换摄像头的同时录制视频,您可以在此处关注更多信息 switching between cameras using mediarecorder .

关于android - 在 android 中不工作的相机之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26301203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com