相关疑难解决方法(0)

如何在Chrome for iOS中使用getUserMedia

我正在开发一个简单的应用程序,在此我试图访问相机和麦克风使用getUserMedia.它适用于桌面Chrome和Android Chrome,但在iPhone和iPad Chrome中无效.

navigator.getUserMedia = navigator.getUserMedia
        || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
var constraints = "";
if (mediaType === "audio,video") {
    constraints = {
        audio : true,
        video : true
    };
} else {
    constraints = {
        audio : true,
        video : false
    };
}
navigator.getUserMedia(constraints, successCallback, errorCallback);
Run Code Online (Sandbox Code Playgroud)

iphone google-chrome ipad ios webrtc

13
推荐指数
4
解决办法
2万
查看次数

NotReadableError:无法启动源代码

我在我的项目中添加了这段代码

if (navigator.mediaDevices === undefined) {
  navigator.mediaDevices = {};
}

if (navigator.mediaDevices.getUserMedia === undefined) {
  navigator.mediaDevices.getUserMedia = function (constraints) {

    var getUserMedia = (
      navigator.getUserMedia ||
      navigator.webkitGetUserMedia ||
      navigator.mozGetUserMedia
    );

    if (!getUserMedia) {
      return Promise.reject(new Error('getUserMedia is not implemented in this browser'));
    }

    return new Promise(function (resolve, reject) {
      getUserMedia.call(navigator, constraints, resolve, reject);
    });

  };
}
Run Code Online (Sandbox Code Playgroud)

然后我正在尝试使用的视频流 getUserMedia

navigator.mediaDevices.getUserMedia({
    video: true,
    audio: false
}).then(stream => {
    // do stuff
}).catch(error => {
    console.log(error.name + " " + error.message);
});
Run Code Online (Sandbox Code Playgroud)

当我在我的模拟器中测试它时,它适用于Android版本5及更高版本,但是当我在实际设备上运行时,我收到此错误 …

javascript cordova getusermedia

12
推荐指数
2
解决办法
1万
查看次数

getUserMedia(自拍)手机全屏

我有以下限制,这些限制在桌面版 Chrome 上运行得很好(模拟移动分辨率)

const constraints = {
    audio: false,
    video: {
        width: screen.width,
        height: screen.height
    }
};

navigator.mediaDevices.getUserMedia(constraints).then(stream => {})
Run Code Online (Sandbox Code Playgroud)

然而,当在 iPhone / Safari 上实际尝试时,相机根本不考虑这一点,并且变得超小或扭曲 - 从约束中删除宽度/高度使其具有更好的比例,但根本不是全屏,只是集中。

我也尝试过最小/最大约束,但没有幸运。

有什么方法可以让它在 iPhone 上运行吗?

getusermedia

8
推荐指数
2
解决办法
8598
查看次数

标签 统计

getusermedia ×2

cordova ×1

google-chrome ×1

ios ×1

ipad ×1

iphone ×1

javascript ×1

webrtc ×1