最近在使用MCI播放音乐时发现了这样的一个问题,在工作线程中打开一个音频,再在主线程中播放失败了,mciSendStringW函数返回了错误代码263。在VS中调试时发现我的打开和播放操作不在同一个线程中,所以我猜想可能是MCI不支持跨线程操作,因此我调整了一下代码结构,将打开和播放的操作都放到同一个线程中就好了。
结论:MCI (Media Control Interface) 不支持跨线程操作,对于同一个音频的所有操作都必须在同一个线程中。
最近在使用MCI播放音乐时发现了这样的一个问题,在工作线程中打开一个音频,再在主线程中播放失败了,mciSendStringW函数返回了错误代码263。在VS中调试时发现我的打开和播放操作不在同一个线程中,所以我猜想可能是MCI不支持跨线程操作,因此我调整了一下代码结构,将打开和播放的操作都放到同一个线程中就好了。
结论:MCI (Media Control Interface) 不支持跨线程操作,对于同一个音频的所有操作都必须在同一个线程中。