Аудио поток 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.