[VB6 ] 如何執行完,才執行下一個

看板Visual_Basic作者 (ox)時間8年前 (2015/10/07 23:09), 編輯推噓1(1010)
留言11則, 3人參與, 最新討論串1/1
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://www.ptt.cc/bbs/Visual_Basic/M.1444230578.A.333.html

10/08 16:20, , 1F
有辦法取得播放狀態嗎?
10/08 16:20, 1F

10/08 16:37, , 2F
你是說MP3檔案嗎,這有,莫非有語法能判斷有幾秒嗎?
10/08 16:37, 2F

10/08 16:45, , 3F
這段程式碼,(MP3+TTS) 有兩段發音
10/08 16:45, 3F

10/08 16:45, , 4F
希望MP3結束,立即換TTS發音
10/08 16:45, 4F

10/08 16:45, , 5F
如果少了sleep,他會兩段一起撥放,變成重唱
10/08 16:45, 5F

10/12 12:53, , 6F
我不會寫,不過我覺得應該要想辦法用程式取得第一段的長
10/12 12:53, 6F

10/12 12:53, , 7F
度,然後就拖延那段長度才放出第二段,反正使用者不會中
10/12 12:53, 7F

10/12 12:54, , 8F
途按下停止所以不用擔心時間不一致,頂多加一點時間緩衝
10/12 12:54, 8F

10/12 12:55, , 9F
應該有辦法分析該MP3檔案的時間長度
10/12 12:55, 9F

10/16 12:01, , 10F
正常來說 應該可以取得播放狀態 判斷是否播放完畢
10/16 12:01, 10F

10/16 12:02, , 11F
不過我不知道你所使用的播放核心有沒有提供個功能
10/16 12:02, 11F
文章代碼(AID): #1M5JMoCp (Visual_Basic)