AVAudioSessionPortOverrideSpeaker 和 AVAudioSessionCategoryOptionDefaultToSpeaker區別,avaudiosession

來源:互聯網
上載者:User

AVAudioSessionPortOverrideSpeaker 和 AVAudioSessionCategoryOptionDefaultToSpeaker區別,avaudiosession

本文部分翻譯了官方對這兩個屬性的描述。連結如下,此外加入個人的使用體會

https://developer.apple.com/library/ios/qa/qa1754/_index.html


問題的起源,在iOS中,播放聲音時,輸出到擴音器的需求。兩個屬性設定的區別

The difference is that setting the AVAudioSessionPortOverride by calling overrideOutputAudioPort: is more transient than using the category option AVAudioSessionCategoryOptionDefaultToSpeaker.

通過overrideOutputAudioPort這個方法設定,屬性AVAudioSessionPortOverride, 比使用AVAudioSessionCategoryOptionDefaultToSpeaker這個屬性更短暫

e.g

方法1

[session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:&error];

方法2

[session setCategory:AVAudioSessionCategoryPlayAndRecordwithOptions:AVAudioSessionCategoryOptionDefaultToSpeakererror:&error];


方法1,設定之後,如果此時插入耳機,在拔掉。播放的聲音會從耳機輸出,而不是回到擴音器

方法2. 設定之後,始終輸出到擴音器,而不是其他接收器,如果沒有耳機。(簡要的說,就是如果有個藍芽音箱,哪怕接上都不會有聲音輸出到藍芽音響,插上耳機,則會有聲音輸出到耳機。)

這裡有個很重要的地方。這兩個屬性都只被用於。AVAudioSessionCategoryPlayAndRecord

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.