音頻小結(jié)

要看AVAudioSession底層API解釋的可以看我另一篇文章AVAudioSession。

這篇文章主要記載我使用音頻功能期間的小結(jié):

1、音頻如果需要后臺錄制或者播放功能需要勾選BackgroundMode中的第一項

2、info中要添加隱私權(quán)限獲取key:

Privacy - Microphone Usage Description ? ? ? ? ? ? ? ? ? ? ? ? ?麥克風權(quán)限

3、通過AVAuthorizationStatus類獲取麥克風或攝像頭的授權(quán)狀態(tài),若未授權(quán)可以使用requestAccessForMediaType:方法向用戶請求設(shè)備權(quán)限。

4、獲得用戶授權(quán)后,設(shè)置AVAudioSession:

? ? ? ? 1)當前audioSession處于active時,其他active狀態(tài)下的audioSession中斷;當前audioSession解除active時,其他audioSession不恢復。

? ? [audioSession setActive:YES error:nil];

? ? ? ? 2)當前audioSession處于active時,其他active狀態(tài)下的audioSession中斷;當前audioSession解除active時,其他audioSession中斷結(jié)束。

? ? [audioSession setActive:YES ?withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];

5、根據(jù)需求設(shè)置AVAudioSession的category、mode、option(AVAudioSession


當設(shè)備有多個外接音頻設(shè)備時,AVAudioSession將遵循last-in wins的原則來選擇外接設(shè)備,即音頻將導向最終的外接設(shè)備。

當沒有外接音頻設(shè)備時,音頻默認從內(nèi)置揚聲器播放,但category為AVAudioSessionCategoryPlayAndRecord時,聽筒為默認輸出設(shè)備。

AVAudioSessionCategoryPlayAndRecord情況下,如果想更改默認輸出設(shè)備,可以通過提供MPVolumeView讓用戶切換輸出設(shè)備;或者通過調(diào)用overrideOutputAudioPort:方法來使用AVAudioSessionPortOverrideSpeaker切換到揚聲器,也可以通過修改CategoryOption為AVAudioSessionCategoryOptionDefaultToSpeaker。

[audioSession?overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil];

[audioSession setCategory:AVAudioSessionCategorySoloAmbient withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容