Мне нужно создать ссылку на стрим из userMedia, я пробую по
примеру с mdn - оригинал:
const mediaStream = await navigator.mediaDevices.getUserMedia({ video: true });
const video = document.createElement("video");
if ("srcObject" in video) {
video.srcObject = mediaStream;
} else {
// Avoid using this in new browsers, as it is going away.
video.src = URL.createObjectURL(mediaStream);
}
Мой код:
var stream
async function turnOnCameraHandler() {
var mediaStream = await navigator.mediaDevices.getUserMedia({
video: /*{
frameRate: { ideal: 60, max: 60 },
facingMode: {
exact: 'environment'
},
}*/ true,
audio: false
});
stream = mediaStream;
video.srcObject = stream;
console.log(URL.createObjectURL(mediaStream))
}
На выходе получаю ошибку:
Uncaught (in promise) TypeError: Failed to execute 'createObjectURL' on 'URL': Overload resolution failed.
at turnOnCameraHandler
В гугле много вариаций этой ошибки, но конкретно с моей ситуацией не нашёл пока.
Предупреждение mdn:
Предупреждение: если у вас все еще есть код, который использует createObjectURL()присоединение потоков к элементам мультимедиа, вам необходимо обновить свой код, чтобы установить srcObjectего MediaStreamнапрямую.
Важно:
Основная проблема, почему я пытаюсь это сделать, в том, что на андроиде в webview зависает autoplay видео, если просто указать video.srcObject = stream, я ищу решение, решил попробовать вставить элемент с source и src.