2015-12-16 5 views
3

Внезапно на RTCMultiConnection появляется ошибка PermissionDeniedError и getUserMedia, в то время как все работает почти хорошо. И не только в Chrome.WebRTC PermissionDeniedError getUserMedia на RTCMultiConnection

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

Я не думаю, что ошибки должны делать с

getUserMedia() no longer works on insecure origins. 

выше проблема появилась в Opera 34.0 и Chrome 47, в то время как Firefox 40 работает нормально.

Это не ошибка приложения или совместимость с камерой, потому что я тестировал также в https://jsfiddle.net/zar6fg60/, как на настольных камерах, так и на ноутбуке с теми же ошибками ниже.

ошибки журнала консоли

name PermissionDeniedErrorconnection.onMediaError @ RTCMultiConnection.js:5592mediaConfig.onerror @ RTCMultiConnection.js:594(anonymous function) @ RTCMultiConnection.js:3931getUserMedia @ RTCMultiConnection.js:3930_captureUserMedia @ RTCMultiConnection.js:678captureUserMedia @ RTCMultiConnection.js:503(anonymous function) @ RTCMultiConnection.js:118initRTCMultiSession @ RTCMultiConnection.js:228connection.open @ RTCMultiConnection.js:108_.onclick @ inter_stream.js:240 
RTCMultiConnection.js:5593 constraintName { 
    "audio": { 
     "mandatory": {}, 
     "optional": [ 
      { 
       "chromeRenderToAssociatedSink": true 
      } 
     ] 
    }, 
    "video": true 
}connection.onMediaError @ RTCMultiConnection.js:5593mediaConfig.onerror @ RTCMultiConnection.js:594(anonymous function) @ RTCMultiConnection.js:3931getUserMedia @ RTCMultiConnection.js:3930_captureUserMedia @ RTCMultiConnection.js:678captureUserMedia @ RTCMultiConnection.js:503(anonymous function) @ RTCMultiConnection.js:118initRTCMultiSession @ RTCMultiConnection.js:228connection.open @ RTCMultiConnection.js:108_.onclick @ inter_stream.js:240 
RTCMultiConnection.js:5594 message Either: 
Media resolutions are not permitted. 
Another application is using same media device. 
Media device is not attached or drivers not installed. 
You denied access once and it is still denied. 
Only secure origins are allowed (see: https://goo.gl/Y0ZkNV).connection.onMediaError @ RTCMultiConnection.js:5594mediaConfig.onerror @ RTCMultiConnection.js:594(anonymous function) @ RTCMultiConnection.js:3931getUserMedia @ RTCMultiConnection.js:3930_captureUserMedia @ RTCMultiConnection.js:678captureUserMedia @ RTCMultiConnection.js:503(anonymous function) @ RTCMultiConnection.js:118initRTCMultiSession @ RTCMultiConnection.js:228connection.open @ RTCMultiConnection.js:108_.onclick @ inter_stream.js:240 
RTCMultiConnection.js:5595 original session Object {audio: true, video: true} 

Решение обновление, чтобы обеспечить HTTP и все работает хорошо прямо сейчас, благодаря Muaz Khan. Chrome имеет уведомление о secure origins и есть w3c new context на доступ к медиа на незащищенных URL-адресах.

+1

Используете ли вы для обхода NAT свои собственные серверы оглушения/льда/поворота? Если нет, возможно, срок действия вашей ключевой лицензии у них истек? – GroundIns

+0

Должен ли я использовать собственный сервер STUN/TURN для приложения WebRTC? Сейчас я использую внешние ресурсы. –

+0

Нет, но, возможно, ваш ключ/лицензия на эти ресурсы истек? – GroundIns

ответ

2
  1. Пожалуйста, убедитесь, что вы используете RTCMultiConnection v2.2.2.
  2. Убедитесь, что ваш домен разрешен для веб-камеры (видео): chrome://settings/contentExceptions#media-stream-camera
  3. Вы, кажется, используете HTTP. Это имеет смысл.
  4. Вы, кажется, используете {audio: true, vide: true}, поэтому нет «экрана: истинные» исключения здесь!
  5. Пожалуйста, попробуйте AppRTC demo, который построен с использованием RTCMultiConnection v2.2.2

Можете ли вы попробовать эту демонстрацию, чтобы увидеть количество аудио/видео устройств, доступных на вашей системе: https://www.webrtc-experiment.com/demos/MediaStreamTrack.getSources.html

Если вебкамера отказано в Chrome , вы увидите isWebcamAlreadyCaptured == false здесь: https://stackoverflow.com/a/30047627/552182

Дополнительно:

  1. Пожалуйста, поделитесь вашей версией браузера: https://www.webrtc-experiment.com/DetectRTC/
  2. Пожалуйста, убедитесь, что другое приложение (Firefox/etc.) - NOT с использованием той же камеры.
+0

Вышеупомянутая проблема появилась в Opera 34.0 и Chrome 47, а Firefox 40 работает нормально.Большое спасибо за ваш ответ и cograts за огромную работу, которую вы сделали на webRTC. –

+0

Муаз, я не https. Нужно ли быть? –

+0

AppRTC также работает на Chrome –