私はオンラインでしばらく探していましたが、この質問に対する答えをまだ見つけていません。iPhoneのイヤフォンを介してBluetoothマイクからオーディオをストリーミングしようとしています。マイクからのストリーミングとイヤフォンへのストリーミングを別々に構成できましたが、同時には構成できませんでした。AudioSession を次のように構成することで、これを行いました。
// Set up Audio Session
NSError *error = nil;
audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:&error];
if (error) NSLog(@"Error in Setting Audio Session Category");
error = nil;
[audioSession setActive:YES error:&error];
if (error) NSLog(@"Error in Setting Audio Session Active");
error = nil;
for (AVAudioSessionPortDescription *mDes in audioSession.availableInputs){
printf("Port: %s\n",[mDes.portType UTF8String]);
if ([mDes.portType isEqualToString:AVAudioSessionPortBluetoothHFP]) {
[audioSession setPreferredInput:mDes error:&error];
if (error != nil)
printf("Error Setting Preferred Input\n");
else
printf("Success\n");
error = nil;
}
}
優先入力を設定すると、出力も設定されるようです。事後に出力をオーバーライドしようとしましたが、それは入力をリセットします。オーディオ セッションの入力と出力を個別に設定する方法はありますか?
ありがとう。