欢迎光临

木子屋

标题: SoundPlayer实现逐个播放列表中的声音文件

作者: dnawo

日期: 2016-09-27 09:03 AM

分类: Win编程

内容: 先前用过System.Media.SoundPlayer类来播放声音文件，现在需实现逐个播放列表中的文件，于是对先前代码稍做修改：
复制内容到剪贴板 程序代码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)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.664 ms

返回

标题: SoundPlayer实现逐个播放列表中的声音文件

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.664 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.711 ms

返回