複数の AVAudioPlayer と 1 つの AVAudioRecorder を使用して iPad アプリを開発しています。アイデアは、主要な AvAudioPlayer のサウンドをバックグラウンド ミュージックのように再生し、別のボタンに触れると他の AVAudioPlayer のサウンドを再生してバックグラウンド ミュージックとミックスすることです。ミックスされた音楽は、AVAudioRecorder によって録音されます。
そのために、カテゴリ AVAudioSessionCategoryPlayAndRecord を使用して AVAudioSession を実装し、次の設定で AVAudioRecorder オブジェクトを作成します。
NSDictionary *recordSetting = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt:kAudioFormatAppleIMA4], AVFormatIDKey,
[NSNumber numberWithInt:AVAudioQualityHigh], AVEncoderAudioQualityKey,
[NSNumber numberWithInt:16], AVEncoderBitRateKey,
[NSNumber numberWithInt: 2], AVNumberOfChannelsKey,
[NSNumber numberWithFloat:44100.0], AVSampleRateKey,
nil];
すべて正常に動作しますが、マイクの入力も記録されており、私には問題ありません。
質問は、録音プロセスでマイク入力を無視/交換/削除するにはどうすればよいですか?
私は長い間 Google で検索し、AVAudioSession のカテゴリとモード、AVAudioRecorder の設定について Apple のドキュメントを検索しましたが、何もうまくいきません。
マイクのミュートも検索しますが、iOS デバイスではできないことを読みました。
あなたの助けを前もって感謝し、英語を書く私の過ちをお詫びします.