откриването на поддръжка за getUserMedia в браузъра на Android е неуспешно

Имам проблем при откриване на поддръжка за getUserMedia. Използвам Android 4.2.2.

Проблемът е, че браузърът на android действа така, сякаш има поддръжка за getUserMedia, но когато го използвам, нито получавам извикване на функцията за успех, нито функцията за неуспех. Код по-долу:

    function onCameraFail(e){
        alert("Failed getting media");
    }

    if (navigator.webkitGetUserMedia) {
            alert("getMedia supported");
            navigator.webkitGetUserMedia({video:true}, function (stream) {
                alert("Got media");
            }, onCameraFail);
            alert("after getMedia");
    }else{  
        //Old device, no support for providing a photo
        alert("No support for getUserMedia");           
    }

Когато съм в браузър Android, този код показва изскачащ прозорец „getUserMedia се поддържа“, но никога не получавам изскачащ прозорец, който казва „Получих мултимедия“ или „Неуспешно получаване на медия“. Когато изпълнявате същия код в Chrome на Android, той казва „Няма поддръжка за getUserMedia“

Защо това поведение? Мислех, че това е обичайният начин за проверка за поддръжка на функции.


person Mikael Holmgren    schedule 21.08.2013    source източник


Отговори (2)


GetUseMedia не се поддържа в браузърите на Android.

http://caniuse.com/stream

getUserMedia(ограничения, successCallBack, errorCallBack)

В errorCallBack проверете за грешката, която получавате. Всеки път трябва да разберете точната причина.

person jintoppy    schedule 13.03.2014

Възможността WebRTC е налична на Android. Зависи дали приложението има:

  1. Правилните потребителски разрешения
  2. Потребителят е щракнал с „да“ на посочените изскачащи прозорци за разрешение
  3. ChromeWebView беше създаден след горното
  4. ChromeWebView onPermissionRequest е заменен, за да разреши достъп до камерата

Трябва да получите съответното съобщение за грешка (при извикване на getUserMedia) в рамките на JavaScript, за да знаете къде това се проваля, напр. NotReadableError подчертава разрешения/неспособност за стартиране на източник на видео. Винаги използвайте адаптера за последователни съобщения за грешка: https://webrtc.github.io/adapter/adapter-latest.js

Моля, вижте следното за повече информация: NotReadableError: Не може да се стартира източник

person Marcus    schedule 15.09.2019