この問題には、DirectXを利用することで解決できます。事前に下記の設定をしたうえで、サンプルのように書けばOKです。このサンプルではボタンを押すと、他方のサウンド再生に関係なく、サウンドが再生します。なお、サンプルのように毎回インスタンスを生成しないと思ったように再生されません。
- C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.AudioVideoPlayback.dllを参照に追加
- app.configに<startup uselegacyv2runtimeactivationpolicy="true">を追加
以上の設定をした上で下記のコードのように書けばOK。
はじめまして、コメント失礼します。プログラミング初心者です。
返信削除Visual C#で複数のwaveファイルを同時に再生するプログラムをかきたいのですが、やはり同時再生はむりで調べていたところここにたどり着きました。
もしよろしければ、DirectXを利用する際の設定をもう少し詳しく教えていただけないでしょうか?
初心者なものですいません(・_・;)
追記です。
返信削除調べていると少しわかってましたので、よければ「app.configに<startup uselegacyv2runtimeactivationpolicy="true">を追加」という部分のみでも教えていただけるとうれしいです。
加えて追記大変申し訳ないです。
返信削除解決することができました。コメントは無視か削除してください。
とても参考になる記事でした。ありがとうございました。