繁体   English   中英

Webrtc 如何向远端播放mp3

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM