• 締切済み

サウンドカード2枚ざしで交互に再生

サウンドカードをPCに2枚さして、 サウンドを交互に再生したいと思っています。 WindowsAPIの低レベルAudio関数を使ってデバイスを 選択して、デバイスに音声データを出力すれば、 2枚ざし環境で双方のデバイスから音声出力出来るものなのでしょうか? また、この2つのサウンドカードから同時に異なる 音声を再生したいとも思っています。 どなたかご経験があるかたがいらっしゃいましたら、 コメントお願いします。

みんなの回答

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.4

>だとすると、USBに10個20個サウンドカードを OSがサウンドカードを何個認識できるかに依ります。 認識さえしてくれれば可能ですが 詳細はMSに問い合わせてください。 ただ基本的にサウンドカードは1個でも 同時に違う音声を出力することは(DirectSound等を使うことによるミキシングによって) 可能です。 http://www.cactussoft.co.jp/mtbbs/mtbbs.cgi?mode=view&no=12 (確認はしていませんがWindowsXPならwaveOutOpenを何個も使うだけで 勝手にミキシングされるかもしれません。) スピーカーをわけたい等、物理的な理由がないのなら、 サウンドカードを何個も搭載する必要はありません。

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.3

可能です。(VisualC++の場合) APIのwaveOutGetNumDevsで使用できるサウンドカードの数を調べます。 (2枚差しなら2が返るはず) 再生にはAPIのwaveOutOpenを使います。これの引数にデバイスのIDを使用します。 (デバイスIDはサウンドカードが2つなら0か1です) http://www.microsoft.com/japan/msdn/library/ja/jpmltimd/html/_win32_waveOutOpen.asp

noname#14336
質問者

お礼

ありがとうございました。 ところで、この話はUSBのサウンドカードでも 同じでしょうか? だとすると、USBに10個20個サウンドカードを つないでも同時にそれぞれ異なる音声を 出力できるのでしょうか? もし、ご存知であったら情報いただけると 助かります。 よろしくお願いします。

回答No.2

サウンドカードを2枚さしてOSに認識させることはできますが、 ボリュームコントロール内の設定等のように1枚しか利用できません同時再生は無理です. 1つのサウンドカードからプログラム内でマルチスレット化してみたらどうでしょうか。

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

いずれも、できます。

noname#14336
質問者

お礼

ありがとうございます。 助かりました。

関連するQ&A