Аудио поток WebRTC/Peer.js не получен

Я использую Peer.js для установления соединения с пользователем, хотя я подозреваю, что это основная проблема WebRTC. Похоже, что мой аудиопоток сбрасывается до того, как я попал в систему. Я устанавливаю вызов на одноранговый узел, а затем возвращаю аудио из источника ().

Html

<audio id="audio-src" src="assests/test.mp3" autoplay></audio>
<canvas id="video-src"></canvas>

<video id="display-result" autoplay></video>

UserA

peer.call('userb', document.getElementById('video-src').captureStream())
.on('stream', function(remoteStream) {
  // if video + audio is sent, the audio channel is missing.
  // if audio only is sent, then this callback is never called.
  var element:any = document.getElementById("display-result");
  element.srcObject = remoteStream;
});

UserB

peer.on('call', function(call) {
  var canvas:any = document.getElementById('video-src');
  var stream = canvas.captureStream(30);
  var audio:any = document.getElementById('audio-src');
  var track = audio.captureStream(30);

  var alltracks = track.getTracks();
  if(alltracks.length > 0) {
    stream.addTrack(alltracks[0]);
  }
  call.answer(track);
});

Это нарушение того, что происходит. По сути, когда я отвечаю на звонок, я буду захватывать видео и аудио. Я добавлю звуковую дорожку в видеопоток и отправлю ее. У меня есть два сценария: 1. Только аудио - обратный вызов от UserA никогда не вызывается. 2. Аудио + видео - обратный вызов от пользователя A имеет только видео (звуковая дорожка была удалена).

Я застрял в том, что происходит во внутренней части Peer.js/WebRTC, и почему мой аудиопоток не получает потоковую передачу. Хотя этот тест использует аудио HTMLMediaElement, а не устройство, подобное микрофону. Я попытался использовать пример видеочата WebRTC, и даже при этом я получу видео, но без звука, хотя мой браузер говорит, что оба включены.

Я использую Chrome 64.0.3282.140 на Windows 7.

0 ответов

Другие вопросы по тегам