在使用mciSendString播放音频时候我想捕捉到音频播放完毕这个事件
查资料得知需要自己用timer通过mciSendString这个函数发送获取当前状态的指令然后进行判断才能得到
于是就有了下面的一段代码
但是问题出现了
我首先用了一个timer每隔1秒钟去查询下状态
但是每次第一次timer事件触发的时候
mci停止播放了(就第一次会 继续播放之后完全没问题 播放完毕的事件也捕捉到了)
也就是这句 API.mciSendString("status " + mc.fileName, TemStr, TemStr.Length, 0);
我想到在发送resume指令来恢复播放 但是会出现停顿
到底应该如何捕捉这个播放完毕的事件呢才能完美一点呢
Code
没想过mic结束会有什么事件发生,我一般是手动发送一条指令让其停止,一般MIC的插件应该有延时的参数吧,设置一个变量来设置是否正在播放试试。