【问题标题】:Problem with camera access on moverio BT 35Emoverio BT 35E 上的摄像头访问问题
【发布时间】:2019-11-12 09:16:51
【问题描述】:

按照爱普生关于 Moverio BT 35E 上的相机访问的文档后,我只需要预览相机输出,但我无法开始我的捕捉会话。

文档链接:(https://tech.moverio.epson.com/en/bt-35e/developers_guide/developing_android_apps.html#ac2-3-2)

问题似乎源于 CameraDevice.startCapture() 方法。我已将输出记录到我的设备,输出为 -1(失败)...

public void startCamera() {
    mCameraManager = new CameraManager(this);
    try {
        mCameraDevice = mCameraManager.open(mCaptureStateCallback, null, mSurfaceView.getHolder());
    } catch (IOException e) {
        e.printStackTrace();
    }

    mCameraDevice.startCapture();
}

@Override
protected void onResume() {
    super.onResume();

    if(mCameraDevice != null) {
        mCameraDevice.startCapture();
        mTextView.setText(Integer.toString(mCameraDevice.startCapture()));
    } else {
        mTextView.setText("CameraDevice is Null");
    }
}

据我所知,我只需要设置相机管理器,使用 statecallback 方法调用 .open 方法,然后运行 ​​.startCapture 方法。此方法失败,但我似乎无法弄清楚为什么......

文档什么也没告诉我,只是输出 -1 表示方法失败,但没有告诉我原因。

【问题讨论】:

    标签: android epson-moverio


    【解决方案1】:

    想通了!我设置了错误的权限。即使我只需要检索相机图像并显示它,我也需要添加保存文件和录制音频的权限。我的猜测是默认情况下需要它来启动捕获会话!

    添加:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.CAMERA" />
    

    到清单文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 2018-03-11
      • 2010-12-02
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多