zl程序教程

您现在的位置是:首页 >  Java

当前栏目

Camera API1,好多年前的一笔修改

2023-02-18 16:35:34 时间

#Android Camera API1 #相机镜像

2017年修改的内容了,针对Android Camera1。翻出来看看,万一有用呢......

所谓的镜像问题,就和我们手机上的镜子道理一样,手机上的镜子打开的是前置的摄像头,然后手机上显示的方向和我们的实际方向应当一致(左边是左边,右边是右边)。如果发现不一致,则做如下修改(注意应用层和framework得一起修改

一、 应用层修改

private Camera mSreviceCamera = null;
mServiceCamera.setDisplayOrientation(0);

二、 framework层修改

修改 framework\av\services\camera\libcameraservice\apil 目录下的CameraClient.cpp

 status_t CameraClient::sendCommand(int32_t cmd, int32_t arg1, int32_t arg2) {
    LOG1("sendCommand (pid %d)", getCallingPid());
    int orientation;
    Mutex::Autolock lock(mLock);
    status_t result = checkPidAndHardware();
    if (result != NO_ERROR) return result;

    if (cmd == CAMERA_CMD_SET_DISPLAY_ORIENTATION) {
        // Mirror the preview if the camera is front-facing.
        orientation = getOrientation(arg1, mCameraFacing == CAMERA_FACING_FRONT);

            // 新添加
            if(mCameraFacing == CAMERA_FACING_FRONT)
                  orientation = 0;
           ...


    return mHardware->sendCommand(cmd, arg1, arg2);
}

深圳上班,

从事Android Camera相关软件开发工作,

公众号记录生活和工作的点滴,