簡體   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