[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