AVAudioSession
概要
AVAudioSession は、アプリケーション内でオーディオをどう利用するかについて OS (ないし、音声再生ハードウェア) とやりとりするための中間層。音声再生ハードウェアとの必要なやりとりの詳細を隠蔽しつつ、ユーザのオーディオ体験を最大化するように OS に働きかけてくれる。 設定
デフォルト設定
音声再生はサポートされるが、録音はデフォルトで許可されていない (tvOS では不可能) ミュートボタンがオンだと消音にする (iOS のみ) 音声再生時、他のバックグランド音声は消音にする
カスタム設定
設定をカスタマイズしたければ、session category を設定する。利用可能なカテゴリは7つ存在するが、最もよく利用されるのは playback というカテゴリになる。
バックグランド再生
バックグラウンド再生をオンにするためには、まず TARGETS > Capabilities > Background Modes を有効にする必要がある。
code:swift
let audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(AVAudioSession.Category.playback)
} catch {
print("Setting category to AVAudioSessionCategoryPlayback failed.")
}