c# - 播放声音,等待它完成然后做点什么?

标签 c# multithreading audio synchronization

我正在写一个 Windows Forms该应用程序应该播放三个声音文件,并在每个声音文件的末尾更改图像的来源。

我可以使用 System.Media.SoundPlayer 让它播放声音。但是,它似乎在另一个线程中播放声音,继续播放。

这样做的最终效果是只播放了最后的声音,所有的图像都发生了变化。

我已经尝试过 Thread.Sleep,但它会使整个 GUI 处于休眠状态,并且在休眠期过后,所有的事情都会立即发生,并且会播放最后一个声音。

更新

我以为 PlaySynch 可以正常工作,但它似乎卡住了我的 GUI,这不太理想。我还能做什么?

最佳答案

你试过了吗SoundPlayer.PlaySync Method ?来自帮助:

The PlaySync method uses the current thread to play a .wav file, preventing the thread from handling other messages until the load is complete.

关于c# - 播放声音,等待它完成然后做点什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/148676/

相关文章:

ios - 在 Swift 中,如何让其他应用在我的应用打开时继续播放音频?

iphone - CFReadStreamRef 和可用字节大小

c# - ASP.Net Dropdownlist ListItem (Enabled=false) 未显示在页面中

c# - 为什么 LINQ 查询返回的结果/行数多于我正在查询的表?

c# - FileSystemWatcher 未正确检测更改

Java服务器-多客户端游戏设计

我可以在线程内接受()吗

c# - Linq to XML查询问题

multithreading - 为什么并发代码需要更多的时间来执行

matlab - Matlab中的音频信号处理