[VB6 ] 如何执行完,才执行下一个

楼主: atayal303 (ox)   2015-10-07 23:09:35
If (Dir(mp3file) <> "") Then
MMPlay (mp3file)
Sleep 3000
SayTTS (chinese)
Else
SayTTS (letter & chinese)
End If
我希望执行 MMPlay (mp3file) 播放语音完毕后
在执行 SayTTS (chinese)播放语音
因为 MMPlay (mp3file) 播放语音会执行几秒是不确定的
用 Sleep 延迟秒数不洽当
以上用于 excel visual basic
请教各位该怎么做呢???
作者: sosokill (vieux)   2015-10-08 16:20:00
有办法取得播放状态吗?
楼主: atayal303 (ox)   2015-10-08 16:37:00
你是说MP3档案吗,这有,莫非有语法能判断有几秒吗?这段程式码,(MP3+TTS) 有两段发音希望MP3结束,立即换TTS发音如果少了sleep,他会两段一起拨放,变成重唱
作者: Peruheru (还在想)   2015-10-12 12:53:00
我不会写,不过我觉得应该要想办法用程式取得第一段的长度,然后就拖延那段长度才放出第二段,反正使用者不会中途按下停止所以不用担心时间不一致,顶多加一点时间缓冲应该有办法分析该MP3档案的时间长度
作者: sosokill (vieux)   2015-10-16 12:01:00
正常来说 应该可以取得播放状态 判断是否播放完毕不过我不知道你所使用的播放核心有没有提供个功能

Links booklink

Contact Us: admin [ a t ] ucptt.com