iPadアプリに録音機能を実装しています。パフォーマンスを向上させるために、ユーザーにマイク付きヘッドホンを取り付けるように促したいのですが、そのためには、ユーザーがヘッドホンをマイク付きに接続しているかどうかを確認する必要があります。
AVAudioSessionにはinputIsAvailableというメソッドがありますが、このメソッドはiPadの内蔵マイクに対しても「Yes」を返します。マイク付きのヘッドフォンがデバイスに接続されているかどうかを検出する方法を提案してください。
iPadアプリに録音機能を実装しています。パフォーマンスを向上させるために、ユーザーにマイク付きヘッドホンを取り付けるように促したいのですが、そのためには、ユーザーがヘッドホンをマイク付きに接続しているかどうかを確認する必要があります。
AVAudioSessionにはinputIsAvailableというメソッドがありますが、このメソッドはiPadの内蔵マイクに対しても「Yes」を返します。マイク付きのヘッドフォンがデバイスに接続されているかどうかを検出する方法を提案してください。
最後に、私は私の問題を解決しました:)次のコードが解決策です:
CFStringRef newRoute;
UInt32 size;
size = sizeof(CFStringRef);
OSStatus error = AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &size, &newRoute);
if (error)
{
}
else
{
CFShow(newRoute);
}
newRoute には異なる値が存在する可能性があります。newRoute の値が「HeadsetInOut」の場合、マイク付きヘッドフォンが iPad に接続されています。