Javascript peerjs没有音频(没有错误)?
我正在尝试通过WebRTC将音频聊天添加到游戏中。我正在成功地为两个对等方生成一个唯一的ID,然后通过socket.io服务器传递这些ID并建立一个调用。一旦每个客户端都有了彼此的音频流,我就将其附加到一个新的Javascript peerjs没有音频(没有错误)?,javascript,audio,webrtc,peerjs,Javascript,Audio,Webrtc,Peerjs,我正在尝试通过WebRTC将音频聊天添加到游戏中。我正在成功地为两个对等方生成一个唯一的ID,然后通过socket.io服务器传递这些ID并建立一个调用。一旦每个客户端都有了彼此的音频流,我就将其附加到一个新的游戏,因此我将p2pAddress和audioStream分配到当前场景,然后在用户单击“加入”按钮时将它们传递到后续场景中(不过我已经在下一个场景中记录了它们,它们确实正在被传递) 接听来电: //音频聊天 this.peer.on('call',(call)=>{ call.answe
游戏,因此我将p2pAddress
和audioStream
分配到当前场景,然后在用户单击“加入”按钮时将它们传递到后续场景中(不过我已经在下一个场景中记录了它们,它们确实正在被传递)
接听来电:
//音频聊天
this.peer.on('call',(call)=>{
call.answer(这个.audioStream);
console.log(“接听来电”);
call.on('stream',(remoteStream)=>{
log('Got stream',remoteStream);
const audio=document.createElement('audio');
audio.style.display=“无”;
文件.正文.附件(音频);
audio.srcObject=remoteStream;
音频播放();
});
});
启动音频流:
//初始化音频流
const call=this.peer.call(player.p2pAddress,this.audioStream);
console.log('Calling',player.p2pAddress);
console.log(this.audioStream);
call.on('stream',(remoteStream)=>{
const audio=document.createElement('audio');
audio.style.display=“无”;
文件.正文.附件(音频);
audio.srcObject=remoteStream;
音频播放();
});
在本例中,player.p2pAddress
表示另一个对等方的id。同样,我已将此记录在控制台中,并且传输过程中没有问题
因此,实际发生的情况如下:
第一个玩家出生,世界是空的
第二个玩家生成,进入第一个玩家的世界实例
第一个播放机接收第二个播放机的p2pAddress
,并使用其音频流发起呼叫
第二个播放机用其音频流
接听呼叫
上面代码中的控制台日志正在启动,就好像它正在工作一样,但我在两个客户端设备上都没有听到任何声音
我尝试过的事情:
- 将播放机自己的
音频流
连接到自己设备上的
元素,以验证流是否正常工作。我听到了反馈和声音,因此音频流很好
- Console记录了传入流,它确实是
MediaStream
的一个实例
- 在
元素上尝试了audio.play()
和audio.autoplay=true
- 已通过检查员验证
元素是否已附加到`上
- 在本地以及使用https://
的服务器上对其进行了测试
https://
服务器上测试一个旧版本,当我推送更新时,它在远程服务器上工作。我想它在本地主机上不工作