AVAudioEnvironmentNode
を使用して、作業中のゲームの 3D 空間化サウンドを生成しようとしています。ドキュメントには、 「AVAudioEnvironmentNode
環境ノードへのモノ チャネル接続形式の入力のみが空間化されることに注意することが重要です。入力がステレオの場合、オーディオは空間化されずに通過します。現在、2 つ以上の接続形式の入力チャネルはサポートされていません。」私は確かにこれが事実であることを発見しました。2 つのチャネルを持つオーディオ バッファを にロードしAudioPlayerNode
、ノードを に接続するとAVAudioEnvironmentNode
、出力サウンドが空間化されません。私の質問は、どうすればモノデータを に送信できますAVAudioEnvironmentNode
か?
プログラムで正弦波データをロードするだけでなく、モノラル.wav
ファイルを作成しようとしました。どちらの方法でも、単一チャネルのオーディオ バッファを作成し、そのバッファを にロードしようとすると、プログラムが次のエラーでクラッシュすることがわかりました。Audacity
AVAudioPCMBuffer
AudioPlayerNode
2016-02-17 06:36:07.695 テスト シーン[1577:751557] 06:36:07.694 エラー:
[0x1a1691000] AVAudioPlayerNode.mm:423: ScheduleBuffer: 必要な条件が false: _outputFormat.channelCount == buffer.format.channelCount 2016-02-17 06:36:07.698 テスト シーン[1577:751557] *** キャッチされない例外 'com.apple.coreaudio.avfaudio' が原因でアプリを終了します。理由: '必要な条件が false: _outputFormat.channelCount == バッファー.format.channelCount'
出力バスを確認すると、AVAudioPlayerNode
実際に 2 チャンネルが必要であることがわかります。これをどのように変更できるか、または変更する必要があるかどうかはわかりません。
AVFoundation
私は、一般的に、またはオーディオデータを扱った経験がほとんどないと規定しています。あなたが提供できるどんな助けも大歓迎です。