相关疑难解决方法(0)

Android:如何在模拟器中使用网络摄像头?

我通过将前置摄像头设置为AVD Manager中的"webcam0"将网络摄像头连接到我的仿真器.当我启动模拟器的相机应用程序时,我收到错误

CameraService::connect X (pid 702) rejected (invalid cameraId 0).
Run Code Online (Sandbox Code Playgroud)

这是Android源代码的相关部分:

sp<ICamera> CameraService::connect(
    const sp<ICameraClient>& cameraClient, int cameraId) {

    int callingPid = getCallingPid();

    [...]

    if (cameraId < 0 || cameraId >= mNumberOfCameras) {
        LOGE("CameraService::connect X (pid %d) rejected (invalid cameraId %d).",
            callingPid, cameraId);
        return NULL;
    }

    [...]
}
Run Code Online (Sandbox Code Playgroud)

网络摄像头已正确分配ID为0,因为只有1个摄像头.但是,mNumberOfCameras大概仍为0.这意味着摄像机正在由仿真器注册,但它并没有费心去更新连接的摄像机的数量.

如何连接网络摄像头以便模拟器正确识别?

编辑:命令emulator -webcam-list -avd <name of your AVD>in \android-sdks\tools给出结果:

List of web cameras connected to the computer:
Camera `webcam0` is connected to device `AndroidEmulatorVC0` on channel …
Run Code Online (Sandbox Code Playgroud)

android

70
推荐指数
4
解决办法
9万
查看次数

标签 统计

android ×1