AVAudioSessionPortDescription まとめ
iOSで、今音声がどこから流れているのか、ヘッドフォンが接続されているのか、
Bluetoothヘッドフォンなのか、とかが知りたい時には、以下のようにして取得可能です。
AVAudioSession *session = [AVAudioSession sharedInstance]; NSArray *out = session.currentRoute.outputs; AVAudioSessionPortDescription *portDescription = [out lastObject];
で、このAVAudioSessionPortDescriptionのConstantsを以下にまとめました。
AVAudioSessionPortLineOut
ドックコネクタから有線で出力中。
AVAudioSessionPortHeadphones
有線ヘッドフォンで出力中。
AVAudioSessionPortBluetoothA2DP
AVAudioSessionPortBuiltInReceiver
通話中など。通話用スピーカーから出力中。
AVAudioSessionPortBuiltInSpeaker
AVAudioSessionPortHDMI
HDMIで出力中。
AVAudioSessionPortAirPlay
AirPlayで出力中。
AVAudioSessionPortBluetoothLE
Bluetooth Low Energy 経由で出力中。
何かコレ使った遊びを考え中。