日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

ttplayer綠色版 ttsplayer


ttplayer綠色版 ttsplayer


背景介紹在線教室場(chǎng)景下,聲音是最重要的內(nèi)容傳輸渠道之一,保障聲音的穩(wěn)定可靠 , 是在線教室質(zhì)量非常重要的一環(huán) 。同時(shí)在線教室里許多功能模塊都與聲音有關(guān)聯(lián),如何處理好各個(gè)模塊間的聲音沖突成為一個(gè)重要話題 。
AVAudioSession在 iOS 端,說(shuō)到聲音的話題就繞不開(kāi) AVAudioSession 。AVAudioSession 的作用是管理音頻這一唯一硬件資源的分配 , 通過(guò)調(diào)優(yōu)合適的 AVAudioSession 來(lái)適配我們的 APP 對(duì)于音頻的功能需求 。切換音頻場(chǎng)景的時(shí)候,需要相應(yīng)的切換 AVAudioSession 。

AVAudioSessionCategory教育場(chǎng)景下主要使用到的音頻場(chǎng)景有:

AVAudioSessionModeiOS 提供 AVAudioSessionMode 用于與 AVAudioSessionCategory 搭配使用,教育場(chǎng)景下使用到的音頻模式主要有:

AVAudioSessionOptions我們可以使用 options 去微調(diào) Category 行為,教育場(chǎng)景下常用的有:

通話音量與媒體音量一般而言,通話音量指的是進(jìn)行語(yǔ)音、視頻通話時(shí)的音量 。媒體音量指的是播放音樂(lè)、視頻或游戲的音效、背景音的音量 。
在實(shí)際使用中,兩者的差異在于,通話音量有較好的回聲消除,媒體音量有較好的聲音表現(xiàn)力 。媒體音量可以調(diào)整到 0,而通話音量不可以 。
通話音量與媒體音量只能二選一,因此需要區(qū)分系統(tǒng)音量走的是通話音量還是媒體音量 。系統(tǒng)音量走通話音量,是指在設(shè)備上調(diào)整音量時(shí),調(diào)整的是通話音量 。媒體音量同理 。媒體音量和通話音量分別屬于 2 個(gè)不同的、獨(dú)立的系統(tǒng),一個(gè)設(shè)置不會(huì)影響到另外一個(gè) 。
進(jìn)入通話后,音效的播放音量由通話音量控制 。退出通話后,則由媒體音量控制 。一般在教育場(chǎng)景下,學(xué)生作為觀眾拉流時(shí),使用的媒體音量,老師說(shuō)話的聲音更加立體飽滿,當(dāng)學(xué)生連麥時(shí) , 使用的通話音量,以保證通話聲音的質(zhì)量 。
簡(jiǎn)單來(lái)說(shuō),非連麥模式下會(huì)使用媒體音量控制 , 連麥模式下會(huì)使用通話音量控制,兩者有獨(dú)立的音量控制機(jī)制 。

當(dāng)播放媒體資源時(shí) , 使用播放器(如 AVPlayer)播放音頻,播放器底層 AudioUnit 的 description 為 VoiceProcessingIO 。
RTC SDK 內(nèi)部維護(hù)了一個(gè) AudioUnit,通話音量下 AudioUnit 的 description 為 RemoteIO,媒體音量下為 VoiceProcessingIO,當(dāng)出現(xiàn)模式切換時(shí),會(huì)銷毀原來(lái)的 AudioUnit , 再創(chuàng)建新的 AudioUnit,始終保持一個(gè) AudioUnit 來(lái)進(jìn)行音頻播放 。
通話音量下 , AVPlayer 內(nèi) VoiceProcessingIO 的 AudioUnit 聲音會(huì)被抑制 。同樣的,在媒體音量下,RTC SDK 內(nèi)的 AudioUnit 的 description 設(shè)置為 VoiceProcessingIO,如果此時(shí)其他模塊通過(guò)設(shè)置 AVAudioSession 切換到通話音量 , RTC 的聲音也會(huì)被抑制 。
行業(yè)現(xiàn)狀在線教室場(chǎng)景下 , 很多功能都需要播放聲音,包括課中音視頻直播、課后回放、webview 內(nèi)嵌課件聲音(包括音頻、視頻、音效)、課堂音頻、課堂視頻、課堂游戲聲音、音效聲音等 。除此之外 , 教室內(nèi)還包括很多需要聲音錄制的功能,包括連麥、跟讀、集體發(fā)言、聊天語(yǔ)音輸入、語(yǔ)音識(shí)別等 。
教室內(nèi)這些功能存在各種組合,且對(duì) AVAudioSession 的設(shè)置要求存在差異 , 而 AVAudioSession 又是一個(gè)單例,如果沒(méi)有一個(gè)統(tǒng)一管理的邏輯,很容易就出現(xiàn)設(shè)置混亂的問(wèn)題 。

推薦閱讀