天天看點

産品百科 |Web 端沒有麥克風裝置如何推視訊流

音視訊通信 RTC(Real-Time Communication)是阿裡雲覆寫全球的實時音視訊開發平台,依托核心音視訊編解碼、信道傳輸、網絡排程技術,提供高可用、高品質、超低延時的音視訊通信服務,讓使用者快速搭建多端實時應用,适用于線上教育、視訊會議、互動娛樂、音視訊社交等場景。

産品連結:

https://www.aliyun.com/product/rtc 通過閱讀本文,您可以了解到當 Web 端沒有麥克風時,裝置推視訊流的方法。

  1. 設定純訂閱模式跳過 isSupport 裝置檢測。
aliWebrtc.isSupport({isReceiveOnly: true}).then((re)=>{
    // 支援純訂閱模式
}).catch(err => {
    // 不支援純訂閱模式
})      
  1. 擷取 audiotrack,設定外部輸入

    setExternalMediaTrack

    替換音頻流。可通過 audio、video 或 canvas 播放音頻或視訊,使用

    captureStream

    方法擷取 mediaStream,然後調用

    mediaStream.getAudioTracks()

    擷取音頻清單,再擷取其中某一個 audiotrack。最後設定外部輸入

    setExternalMediaTrack

    替換音頻流。
let mediaStream = video.captureStream(); // video為播放視訊的media标簽
let audiotracks = mediaStream && mediaStream.getAudioTracks()
let audiotrack = (audiotracks && audiotracks.length) ? audiotracks[0]
aliWebrtc.setExternalMediaTrack(audiotrack, 0);      

說明

    • 設定外部輸入前需要先停止正在進行的推流。
    • 每次停止推流後都需要重新設定外部輸入。
  1. 正常推流(此時可以不推音頻流,SDK 内部識别出已經推了外部輸入音頻,是以會跳過裝置檢測)。
「視訊雲技術」你最值得關注的音視訊技術公衆号,每周推送來自阿裡雲一線的實踐技術文章,在這裡與音視訊領域一流工程師交流切磋。
産品百科 |Web 端沒有麥克風裝置如何推視訊流