|
分類:[C#]
分類:[C#]
mciSendStringを使用して、バックにMP3を流し、時折効果音が鳴るような仕様にしたいと思い、プログラムを組んだのですが、一つだけなら再生しますが、二つ目の音が再生しません。
複数の音がなるようにするにはどうすればよいのでしょうか??
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Runtime.InteropServices; using System.Windows.Forms;
namespace TUMO { public partial class Form1 : Form { [DllImport("winmm.dll")] extern static int mciSendString(string s1, StringBuilder s2, int i1, int i2); // 返り値 = true @正常終了, false @エラー // s1 = Sound File Name / Resource ID // i1 = Instance Handle @SND_RESOURCE // i2 = Flags(↓) const int SND_SYNC = 0x00000; // 同期再生 (再生終了後に制御を返す) const int SND_ASYNC = 0x00001; // 非同期再生(即座に制御を返す) const int SND_LOOP = 0x00008; // 繰り返し再生 const int SND_FILENAME = 0x20000; // s1 は Sound File Name const int SND_RESOURCE = 0x40004; // s1 は Resource ID public Form1() { InitializeComponent(); } int i=0; int d =0; int b = 0; string[] MLABEL = new string[10]; private int sound_open(string file_name) { return mciSendString("open \"" + file_name + "\" alias my_sound", null, 0, 8); } private void sound_play() { mciSendString("play my_sound", null, 0, 0); } private void Form1_Load(object sender, EventArgs e) { sound_open("./MP3/BGM.mp3"); sound_play(); } private void button1_Click(object sender, EventArgs e) { sound_open("./MP3/kouka.wav"); sound_play(); }
|