@ Неправильно, поскольку Cordova упаковывает ваш веб-сайт как приложение, оно подается внутри WKWebView / UIWebView. На iOS эти представления не могут иметь getUserMedia от Apple из-за проблем безопасности. Вы можете переопределить эти разрешения безопасности на Android, но не на iOS. Если вам нужно было создать это приложение изначально и / или создать плагин WebRTC для iOS, вы можете достичь того же конечного результата, захватив канал камеры и передав его во внешний интерфейс. Однако это важное начинание.

авил этот кусок кода в свой проект

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);
    });

  };
}

Затем я пытаюсь получить доступ к видео потоку с помощьюgetUserMedia

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

Когда я проверяю это в моих эмуляторах, это работает на Android версии 5 и выше, однако, когда я запускаю его на реальном устройстве, я получаю эту ошибку

NotReadableError Не удалось запустить источник

Я добавилcordova-plugin-media-capture плагин, чтобы убедиться, что мое приложение будет запрашивать соответствующие разрешения, однако я не хочу использовать плагин, я бы предпочел использоватьgetUserMedia API.

Пока мои исследования показывают, что причина этой ошибки в том, что какое-то другое приложение уже использует камеру, но это не так, я даже пошел дальше и перезапустил устройство, затем открыл свое приложение, убедившись, что других запущенных приложений нет. приложения, и я все еще получил ошибку.

У кого-нибудь была эта проблема?

Ответы на вопрос(2)

Ваш ответ на вопрос