作者atayal303 (ox)
看板Visual_Basic
标题[VB6 ] 如何执行完,才执行下一个
时间Wed Oct 7 23:09:35 2015
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
请教各位该怎麽做呢???
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.254.240.199
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1444230578.A.333.html
1F:→ sosokill: 有办法取得播放状态吗? 10/08 16:20
2F:→ atayal303: 你是说MP3档案吗,这有,莫非有语法能判断有几秒吗? 10/08 16:37
3F:→ atayal303: 这段程式码,(MP3+TTS) 有两段发音 10/08 16:45
4F:→ atayal303: 希望MP3结束,立即换TTS发音 10/08 16:45
5F:→ atayal303: 如果少了sleep,他会两段一起拨放,变成重唱 10/08 16:45
6F:推 Peruheru: 我不会写,不过我觉得应该要想办法用程式取得第一段的长 10/12 12:53
7F:→ Peruheru: 度,然後就拖延那段长度才放出第二段,反正使用者不会中 10/12 12:53
8F:→ Peruheru: 途按下停止所以不用担心时间不一致,顶多加一点时间缓冲 10/12 12:54
9F:→ Peruheru: 应该有办法分析该MP3档案的时间长度 10/12 12:55
10F:→ sosokill: 正常来说 应该可以取得播放状态 判断是否播放完毕 10/16 12:01
11F:→ sosokill: 不过我不知道你所使用的播放核心有没有提供个功能 10/16 12:02