[英]Webrtc how to play mp3 to remote peer
本地浏览器和远程浏览器之间已经建立了Webrtc。
音频正在发送和接收
库正在处理 webrtc 连接,因此在此 scope 中没有 stream 或 rtcpeerconnection object 访问权限
我想创建向本地浏览器或远程浏览器播放短 mp3 声音的功能
这可以很好地播放到本地浏览器
function playAudioToLocal(mp3url) {
const context = new AudioContext();
const response = await fetch(mp3url);
const arrayBuffer = await response.arrayBuffer();
const audioBuffer = await context.decodeAudioData(arrayBuffer);
const source = context.createBufferSource();
source.buffer = audioBuffer;
source.start(0);
source.connect(context.destination);
}
如何将 mp3 播放到远程?
function playAudioToRemote(mp3url) {
const context = new AudioContext();
const response = await fetch(mp3url);
const arrayBuffer = await response.arrayBuffer();
const audioBuffer = await context.decodeAudioData(arrayBuffer);
*WANT TO PLAY audioBuffer TO REMOTE*
}
此代码会将解码后的音频转换为可与 webrtc 一起使用的 MediaStream:
function playAudioToRemote(mp3url) {
const context = new AudioContext();
const response = await fetch(mp3url);
const arrayBuffer = await response.arrayBuffer();
const audioBuffer = await context.decodeAudioData(arrayBuffer);
const destination = context.createMediaStreamDestination();
const bufferSource = context.createBufferSource();
bufferSource.buffer = audioBuffer;
bufferSource.start(0);
bufferSource.connect(destination);
return destination.stream;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.