音視訊通信 RTC(Real-Time Communication)是阿裡雲覆寫全球的實時音視訊開發平台,依托核心音視訊編解碼、信道傳輸、網絡排程技術,提供高可用、高品質、超低延時的音視訊通信服務,讓使用者快速搭建多端實時應用,适用于線上教育、視訊會議、互動娛樂、音視訊社交等場景。
産品連結:
https://www.aliyun.com/product/rtc 通過閱讀本文,您可以了解到當 Web 端沒有麥克風時,裝置推視訊流的方法。- 設定純訂閱模式跳過 isSupport 裝置檢測。
aliWebrtc.isSupport({isReceiveOnly: true}).then((re)=>{
// 支援純訂閱模式
}).catch(err => {
// 不支援純訂閱模式
})
- 擷取 audiotrack,設定外部輸入
替換音頻流。可通過 audio、video 或 canvas 播放音頻或視訊,使用setExternalMediaTrack
方法擷取 mediaStream,然後調用captureStream
擷取音頻清單,再擷取其中某一個 audiotrack。最後設定外部輸入mediaStream.getAudioTracks()
替換音頻流。setExternalMediaTrack
let mediaStream = video.captureStream(); // video為播放視訊的media标簽
let audiotracks = mediaStream && mediaStream.getAudioTracks()
let audiotrack = (audiotracks && audiotracks.length) ? audiotracks[0]
aliWebrtc.setExternalMediaTrack(audiotrack, 0);
說明
-
- 設定外部輸入前需要先停止正在進行的推流。
- 每次停止推流後都需要重新設定外部輸入。
- 正常推流(此時可以不推音頻流,SDK 内部識别出已經推了外部輸入音頻,是以會跳過裝置檢測)。
「視訊雲技術」你最值得關注的音視訊技術公衆号,每周推送來自阿裡雲一線的實踐技術文章,在這裡與音視訊領域一流工程師交流切磋。
