2

コンピューターで 3 つの異なる音楽トラックを同時に再生するにはどうすればよいですか (song1 はスピーカー 1 で再生され、song2 はスピーカー 2 で再生されます...

これはプログラム的に可能ですか?どのような追加ハードウェアが必要ですか? 3 種類のサウンド カードが必要ですか? ハードウェアが整っている場合、特定の曲のサウンド出力を特定のスピーカーに「ルーティング」するにはどうすればよいでしょうか。

または、複数の入力と出力を処理できる特別なハードウェアはありますか?

あなたの専門家の意見に感謝します。

4

2 に答える 2

3

http://www.esi-audio.com/products/maya44usb+/ AsioOut と MultiplexingWaveProvider を見て、NAudio c# ライブラリでこれを試してください

于 2012-11-12T08:59:53.257 に答える
0

曲と同じ数の出力 (合計) があれば、準備は完了です (各曲をモノラルで再生すると仮定しています)。この問題に取り組む最も簡単な方法は、曲ごとに 1 つの「ストリーム」を開き、そのストリームを介して曲を再生することです。適切な数のチャンネルで各ストリームを開き、曲が正しいチャンネルで再生されるようにするために、いくつかの作業を行う必要があります。

この手法には 2 つの潜在的な問題があります。 1. 一部のオーディオ API/ハードウェアの組み合わせでは、複数のストリームが同じデバイスにアクセスできません。これは最も一般的な Windows/ASIO の問題ですが、他の場合にも問題になる可能性があります。私は Windows の専門家ではありません。2. すべてのストリームが正確に同期されていることを確認するのは少し難しいです。厳密な同期が必要な場合は、単一のストリームと単一のハードウェア デバイスを使用する必要があります。

上記の問題が懸念される場合は、少なくとも 3 つの出力を備えたオーディオ ハードウェアを入手し、3 つのチャンネルにアクセスできる 1 つのストリームを開く必要があります。

オーディオ I/O には PortAudio を使用し、サウンド ファイルの読み取りには libsoundfile を使用できます (もちろん、これらの両方のタスクには他のオプションがあります)。

于 2012-11-01T15:06:21.780 に答える