本人小白,想在C#里同时播放多个音频,于是到网上搜了一下,说用DX可以达到效果,DX播放声音的代码如下:
using System;
using System.Windows.Forms;
using Microsoft.DirectX;
using Microsoft.DirectX.DirectSound;
namespace DxMultiSound
{
public partial class Form1 : Form
{
Device dv = null;
SecondaryBuffer buf = null;
public Form1()
{
InitializeComponent();
Control.CheckForIllegalCrossThreadCalls = false;
dv = new Device();
dv.SetCooperativeLevel(this, CooperativeLevel.Normal);
}
private void button1_Click(object sender, EventArgs e)
{
buf = new SecondaryBuffer(@"F:/test1.wav", dv);
buf.Play(0, BufferPlayFlags.Default);
}
}
}
但是,当开始运行时,程序始终在Device初始化那条语句阻塞住。。我想知道究竟发生了什么。。是哪里写错了还是?请各位大佬指教!