仕事でiOSのAudioSessionについていろいろ調べる機会がありまして、その際に役になったサイト様を紹介します。
AppleDeveloper(公式)
- https://developer.apple.com/documentation/avfaudio/avaudiosession
- https://developer.apple.com/documentation/avfaudio/avaudiosession/mode
- https://developer.apple.com/documentation/avfaudio/avaudiosession/category
まずは公式を抑えておきましょう。
iOSアプリ開発 入門 (6) - AVAudioSession
AudioSessionについての説明と扱い方のとてもわかりやすい説明がされています。入門記事としておすすめです。
iOS Apps Developer's Note
こちらのサイトが一番勉強になりました。全17回に渡って、AudioSessionについての概要や、各CategoryやMode挙動などが解説されています。少し古いですが、基本的な部分は変わっていないと思うのでまず最初に読む記事としておすすめです。
AVAudioSessionの深い話
こちらもModeとCategoryの簡単な説明や、VoiceChatモードを指定したときの挙動、CategoryOptionsの紹介などがありました。
AVAudioSessionで録音する際に、音はbluetoothイヤホン、マイクはデバイスマイクを使いたい
録音するときに音声出力はBluetoothイヤホンで、マイクはデバイスで使いたい場合のやり方の解説でした。音声再生や録音のBluetoothのプロファイルは主にハンズフリー通話用のHFPと、ステレオ再生用のA2DPがありますが、A2DPを使うことで結果的にBluetoothによる音声キャプチャを無効化し、デバイスのマイクを使えるようになるということです