C#での音声再生について

このQ&Aのポイント
  • C#での音声再生についての質問です。一つ目の音声ファイルを再生中にもう一つの音声ファイルを再生しようとすると、最初に再生していた音声が中断されてしまいます。複数の音声ファイルを同時に再生する(音が重なって再生されるようにする)には、どうすればよいのでしょうか。
  • C#での音声再生についての質問です。PlaySound関数を利用してWAVEファイルを再生しようとしていますが、一つ目の音声ファイルを再生中にもう一つの音声ファイルを再生しようとすると、最初に再生していた音声が中断されてしまいます。複数の音声ファイルを同時に再生する方法を教えてください。
  • C#での音声再生についての質問です。WAVEファイルの再生にはPlaySound関数を利用していますが、一つ目の音声ファイルを再生中にもう一つの音声ファイルを再生しようとすると、最初に再生していた音声が中断されてしまいます。複数の音声ファイルを同時に再生する方法を教えてください。
回答を見る
  • ベストアンサー

C#での音声再生について

音声再生についての質問です。 ↓のページにある「メモリ内のWAVEデータを非同期再生する際の不具合について」を参考にして、PlaySound関数を利用してWAVEファイルを再生しようとしています。 http://dobon.net/vb/dotnet/programing/playembeddedwave.html ただし、この方法を使用して、一つ目の音声ファイルを再生中にもう一つの音声ファイルを再生しようとすると、最初に再生していた音声が中断されてしまいます。 複数の音声ファイルを同時に再生する(音が重なって再生されるようにする)には、どうすればよいのでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こちらが参考になるかと思います。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1159640981

Foomin
質問者

お礼

ありがとうございます。 最終的には音声ファイルをリソースに埋め込んで使用するため、ご紹介いただいたサイトのサンプルを直接使うことは出来ませんでしたが、そこで紹介されていた”DirectSound”でなんとかなりました。

関連するQ&A

  • 再生音声の音量を変更する関数を教えてください.

    みなさんこんにちは. 今,VisualStudio.Net2005を使って簡易な音声再生ソフトを作ろうと考えております. PlaySound( L"soundfilename.wav", NULL, (int)(SND_ASYNC | SND_FILENAME)); の関数で引数の音声ファイルを再生することまではできましたが,再生中の音声のボリュームを変更する方法が分かりません. どなたか,再生中の音声のボリュームを変更する方法や関数を知っているかたがいらっしゃたら教えていただきたく存じ上げます. 何卒よろしくお願いいたします.

  • VBでのwavファイルの再生について

    実は今VB6を使ってゲームを作ってます。 wavファイルを再生させて音を出してるですが、少し困ったことがあります。使ってる関数はwin32APIのPlaySoundを使ってます。 普通に音を再生する分には問題ないのですが、非常に短い間隔で再生を繰り返すと音が鳴らなくなります。 再生時間0.07秒のwavファイルを再生し終わる前に、もう一度そのファイルを再生すると音が鳴らない。 PlaySoundの他にも音を再生するAPI関数があるようですけど、使い方が良く分かりません。 どうすればいいでしょうか? VB6で、OSはwindowsXP使ってます。

  • VBで音声再生に関して

    ヘッダ情報のない16_khz,16_bitの音声ファイルをwavへの変換なしで直接取り出して 再生したいのですが、再生するAPIかなにかないでしょうか? メモリー上にバイト型配列でおきwavのヘッダ情報をつけ音声ファイルをくっつける という方法を考えついたのですが それだとPlaySound()APIではメモリー上から呼び出せず困っています。 wavファイルのヘッダ情報についてもわかりません。

  • ランダム再生できるWaveファイルは作れますか?

    ひとつのWaveファイルで複数の音声ファイルをランダムに再生するようなファイルを作ることはできますか? あくまでファイルはひとつで、それを再生すると複数のwaveファイルのどれかひとつをランダムに再生するようにしたいのです。 可能ですか?

  • C言語で音声ファイル再生

    C言語で音声ファイルを再生することが出来るでしょうか?必要なヘッダーファイルと関数を教えてもらえるとうれしいです。

  • wave音源の再生

    現在Microsoft visual c++でプログラミングをしています。 wavファイルの再生をしたいのですが、 PlaySoundという関数を使って一応、再生はできたのですが この関数だと同時に1つの音しか出ない様なのです。 プログラム中で1曲BGMの様に常に流しておいて、その所々で効果音 が鳴る様にしたいのですが。。。 ご教授お願いします。

  • TVの音声再生されない

    TVはREGZA37Z1です。 マニュアル http://gizport.jp/manual/1795070/?id=84210 の68ページに記載あり。 WAVE形式音楽ファイルをUSBメモリに入れTV側面の端子に接続して「レグザリンク」で再生しようとしましたがフォルダ名は表示されますが開くと「コンテンツがありません」と表示されるだけです。MP3は再生されます。USBメモリ変えても同じです。USBは2.0です。(PCでは再生されます) WAVEファイルはサンプリング16bit 44100Hz、ビットレート 1411.2kbpです。

  • C# wavファイルの再生について

    C#に関しての質問なのでこちらでいいのかわからないのですが、タイトル通りwavファイルの再生についてです。 環境は .NET2003 です。 現在、学校の卒業制作としてC#でゲームの開発を行っているのですが、音楽ファイルの再生の仕方で困っています。 検索してみたところ、playsoundを使用したループ再生には非同期とループを指定すればいい、とありましたが うまく動きませんでした。 そこでThreadを使用しsleepを使うことで擬似的にループ再生をさせているのですが、それだと都合の悪いことが多く別の方法を探しています。 お力になっていただける方がいれば、宜しくお願いします。 ↓は現在のソースから抜き出したものです。 [DllImport("winmm.dll")] private static extern bool PlaySound(string pszSound, int hmod, uint fdwSound); static void Main(){    Thread t1 = new Thread(new ThreadStart(play)); t1.Start(); Thread.Sleep(1000000000); } public static void play(){ PlaySound("daichi.wav", 0, 0x00001 | 0x00008 ); }

  • 音声ファイルを再生するActiveXコントロール(という表現でいいんだろうか?)

    音声ファイルを再生するActiveXコントロールを いろいろ探しています。 単に短いwaveファイルを再生できればいいです。 入門書で苦労しているほどの初心者なので、 できれば簡単なコードで扱えればいいんですが。 よろしくお願いします。

  • C言語 ダイアログボックス

    C言語で、ダイアログボックスを表示した後、そのメッセージの内容を読み上げるようなプログラムを作っています。 そのためには.wavファイルを作ってPlaySoundですればいいのではと思ったのですが、自動で再生させるためにWM_INITDIALOG内で再生処理をさせるとダイアログが影も形も見当たらない状態で音声が再生されます。そこで、Showwindow関数を呼び出せばダイアログが表示されるのかなと思ってやってみても、ウィンドウの枠は出るのですがスタティックテキストが出ません。 あくまで、ボタンをおしたら音声を流すのではなく、ダイアログが表示されてから自動で音声を流す方法はないのでしょうか、あれば回答よろしくお願いします。サンプルソースなどあればありがたいです。