0

我需要播放几个声音,如果一个声音已经在播放,后面的声音将被排队。我正在使用 MCI API 调用。

到目前为止,我使用这个声音播放器作为带有 InterOp 的 COM 控件。

但是,COM 控件会导致一些 COM 释放错误,所以我想以不同的方式解决它。

我想知道我是否应该使用后台任务在我的表单中通过一个普通的 NET 类来解决这个问题,这样我就完全独立于我的应用程序的负载有多大,这样完成的声音可以立即触发播放下一个声音而无需任何延迟,或者如果这将是一个矫枉过正,后台任务应该只用于长时间的阻塞操作。

如果 MCI 停止播放然后开始下一个声音,我的声音播放器基本上只使用一个计时器来检查 API 调用。

此外,它还提供声音开始、停止或出错时的事件。

或者如果我应该将播放器封装在一个单独的 NET 项目中并引用它?然后我也将独立于主应用程序的工作量。

声音队列的无缝播放对我来说是必不可少的。

4

0 回答 0