mciSendString的使用

如何播放聲音檔或視訊檔


以下是透過 mciSendString 函數執行 MCI 指令進而播放聲音檔的方法

mciSendString  "close c:/windows/media/Ding.wav", vbNullString, 0, 0

mciSendString  "open c:/windows/media/Ding.wav", vbNullString, 0, 0

mciSendString  "play c:/windows/media/Ding.wav", vbNullString, 0, 0

綠色部分注意要小寫

 

在使用 MCI 指令之前,切記須先將 MCI 關閉,下次再執行播放時才能

正確播放,或者是將播放的位置改變到最前面,描述如下

mciSendString  "seek c:/windows/media/Ding.wav to start", vbNullString, 0, 0

mciSendString  "play c:/windows/media/Ding.wav", vbNullString, 0, 0 

 

另外seek 的其他用法如下

seek 媒體名稱 to start   將位置移到最前面

seek 媒體名稱 to end   將位置移到最後面

seek 媒體名稱 to position   將位置移到 position 

 

 

除了聲音檔之外,如何播放視訊檔呢?

其實以上所介紹的 MCI 指令,除了可以用來播放聲音檔之外,也可以用

來播放 MIDI  檔及 AVI 檔,不必經過任何修改,Windows  會自動產生一

個視窗播放此視訊檔,但是可不可以在指定的位置上播放呢?答案是可以

,方法如下

open AVI 檔名 parent hWnd style child

其中,hWnd 需填入某個物件的 hWnd 

執行上述命令之後,影片會被放置在物件的左上角,且影片的大小不受

物件大小的影響,如果想要改變影片播放的位置及大小時,可以在執行

 play  指令前先執行 put 指令,格式如下

put AVI 檔名 window at X Y [Width Height]

 其中 Y 參數須填入位置,而 Width Height參數則填入影片顯示出來的寬度及高度

其他常用的 MCI 指令

        pause 設備名稱   暫停播放

        stop 設備名稱   停止播放

        step 設備名稱   前進到下一個位置

        step 設備名稱 reverse   後退到上一個位置

        step 設備名稱 by N   前進或後退 N 個位置

      (其中 N<0 即表示後退)

        status 設備名稱 position   讀取目前的播放位置

        status 設備名稱 length   讀取媒體的總長度

 

小秘訣

其實我們可以在 open 指令加上

  API 類型」alias 自訂的媒體設備名稱

open c:/windows/media/Ding.wav alias MyWav

以上敘述的用途是為 c:/windows/media/Ding.wav 聲音檔取一個比較容易

記憶與書寫的名稱,接著在其他 MCI 的指令當中,便可以將繁雜的

c:/windows/media/Ding.wav 置換成 MyWav,例如

mciSendString  "close MyWav", vbNullString, 0, 0

mciSendString  "open MyWav", vbNullString, 0, 0

mciSendString  "play MyWav", vbNullString, 0, 0 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值