Cranky MediaRecord - PullRequest
       108

Cranky MediaRecord

0 голосов
/ 28 мая 2020

Я использую следующий код, чтобы попытаться записать WebRT C видео (поток, созданный с помощью вызова getUserMedia ()):

...
var OK_Proceed = 1;  //indicate recording status, assume recording is possible
var recOptions = {mimeType: 'video/webm'};  //options for MediaRecorder
...
navigator.mediaDevices.getUserMedia({
audio: false,
video: true
})
.then(gotStream)
.catch(function(e) {
alert('getUserMedia() error: ' + e.name);
});

function gotStream(stream) {
console.log('Adding local stream.');
localStream = stream;
localVideo.srcObject = stream;
sendMessage('got user media');

 //**initialize MediaRecorder

 if (MediaRecorder.isTypeSupported('video/webm;codecs=vp9')) {
 recOptions = {mimeType: 'video/webm; codecs=vp9'};
 } else if (MediaRecorder.isTypeSupported('video/webm;codecs=vp8')) {
 recOptions = {mimeType: 'video/webm; codecs=vp8'};
 } else {
 alert('MediaRecorder is not supported by this browser.\n\n' +
 'Try Firefox 29 or later, or Chrome 47 or later, ' +
 'with Enable experimental Web Platform features enabled from chrome://flags.');
 console.error('Exception while creating MediaRecorder:', e2);
 OK_Proceed = -1;  //indicate unable to record video chat session... 
 }

  if (OK_Proceed === 1) {
  mediaRecorder = new MediaRecorder(stream, recOptions);
  //do other stuff related to recording...
  }  //OK_Proceed is "1"...recording is enabled 

 //**

}

Видео с моей веб-камеры действительно отображается в видео на странице HTML должным образом, однако я всегда получаю следующую ошибку = "getusermedia (): ReferenceError". Я использую последнюю версию Chrome для браузера. Эта ошибка сохраняется независимо от того, что я пытаюсь сделать, включая использование «try / catch» в качестве альтернативного способа установки параметров кода c. Код, который я использую, в основном взят непосредственно из онлайн-документации с открытым исходным кодом, относящейся к настройке MediaRecorder.

У кого-нибудь есть подсказка, почему я постоянно получаю эту 'ReferenceError' ...? Заранее благодарю вас.

ПРИМЕЧАНИЕ. Я знаю, что ошибка вызвана кодом «MediaRecorder», если я удалю его (весь код между примечаниями «// **»), ошибки не будет. Поскольку я не получаю предупреждающее сообщение браузера об использовании более поздних версий Chrome / FireFox, ошибка ДОЛЖНА быть вызвана следующей строкой: «mediaRecorder = new MediaRecorder (stream, recOptions);» ... однако я понятия не имею, почему ...?

...