string[] list = new string[] { @"F:\mzwu_com\sound1.wav", @"F:\mzwu_com\sound2.wav", @"F:\mzwu_com\sound3.wav" };
SoundPlayer player = new SoundPlayer();
for(int i=0;i<list.Length;i++)
{
player.SoundLocation = list[i];
player.Play();
}结果始终只能播放列表中最后一个声音文件,一查,原来Play方法是个异步方法,改用PlaySync方法可解决问题:
string[] list = new string[] { @"F:\mzwu_com\sound1.wav", @"F:\mzwu_com\sound2.wav", @"F:\mzwu_com\sound3.wav" };
SoundPlayer player = new SoundPlayer();
for(int i=0;i<list.Length;i++)
{
player.SoundLocation = list[i];
player.PlaySync();
}这样的缺点是会阻塞当前线程,好在我的声音文件都很短,暂时凑合用。
SoundPlayer的优缺点
player.SoundLocation = @"F:\mzwu_com\sound1.wav"; //本地文件
player.SoundLocation = "http://www.mzwu.com/sound1.wav"; //网络文件
player.Stream = Properties.Resources.sound1; //数据流SoundPlayer播放文件支持:本地文件、网络文件、数据流,但它只能播放wav!只能播放wav!只能播放wav!
评论(0)
暂无评论。