音楽の再生中にユーザーがマイクに向かって話すことができるアプリを作成しています (カラオケに似ています)。ミキサーに複数の入力が入るAudioEngineを使用して、これを機能させることができました。ただし、マイクを有効にすると、音楽の音質も失われます。音楽がマイクを通して支払われているように聞こえます。これは、マイクと音楽の AVAudioFormats が異なるためだと思いますが、次のマイク以外で動作する形式を見つけることができません。
var format = AVAudioFormat(commonFormat: AVAudioCommonFormat.PCMFormatFloat32, sampleRate: 8000.0, channels:AVAudioChannelCount(2), interleaved: false)
私の音楽出力形式は単純です
mixer.outputFormatForBus(0)
マイクを無効にするとクリアに聞こえます。
AvAudioSessionCategory も使用していることに注意してください。
session.setCategory(AVAudioSessionCategoryPlayAndRecord, withOptions:AVAudioSessionCategoryOptions.AllowBluetooth, error: nil)
私は自分が間違っていることについてのアイデアを使い果たしました。どんな助けでも大歓迎です!