TSINGSEE青犀視頻開發webrtc瀏覽器使用video標籤播放webrtc本地錄音音頻實現過程

TSINGSEE青犀視頻團隊開發webrtc的很多問題,我們都在之前的博文中寫過了,做webrtc的開發,主要是想爲我們的視頻平臺提供一個更優的研發方案,在不久的將來,webrtc將會與TSINGSEE青犀視頻平臺有更加緊密的結合。

webrtc2.png

Webrtc是一個很大的工程,包括視頻和音頻,到現在TSINGSEE青犀視頻需要開發Webrtc實現本地錄音,並在瀏覽器使用video標籤播放音頻,爲後期的產品研發做準備。

通過之前的研究,我們已經實現了webrtc的視頻推流,即把獲取到的圖像通過OnFrame的函數來實現一幀一幀的圖像;那麼我們有可能認爲,應該也有一個函數來讓webrtc實現音頻推流。

108.png

但實際上webrtc音頻流沒有OnFrame函數實現一幀一幀推給瀏覽器video標籤播放,因此還是要實現音頻播放,這樣纔有完整的音視頻流。

下面來分享下webrtc推音頻流的實現:

音頻的採集、播放和錄製主要是:AudioDeviceModule類,這個類有很多的虛函數,必須從寫來實現音頻的發送。

(1)AudioDeviceModule類虛函數從寫的代碼比較多(部分代碼)。

109.png

110.png

(2)音頻還有個MessageHandler類,裏面有個OnMessage函數;
來接收反饋,通過OnMessage反饋信息實現推流。

111.png

(3)OnMeaasge反饋接收音頻,裏面函數的實現:

112.png

(4)這樣重寫的代碼就完成,下一步就可以開始調用函數了。

113.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章