2

複数の 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 デバイスではできないことを読みました。

あなたの助けを前もって感謝し、英語を書く私の過ちをお詫びします.

4

1 に答える 1

0

AVAudioRecorder API は、マイクからの録音専用です。

アプリが生成するサウンドのオーディオ ファイルを作成するには、アプリはソフトウェア (ミキサー Audio Unit または独自の DSP コード) でオーディオ ミキシングを実行し、必要に応じて圧縮し、結果のオーディオ ストリームを保存する必要があります。

于 2012-05-15T20:32:03.930 に答える