a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Visual Basic > 正文

MCI Command String總覽

2023-06-12 12:11:35
字體:
來源:轉載
供稿:網友

(注:本文以2000年七月的MSDN解釋為準)

MCI Command String是多媒體設備的程序接口。通過它,我們可以打開一個多媒體文件,例如mp3,VCD文件,Mpeg4格式的文件等等,并對它進行播放,暫停,關閉等操作。現在小弟有幸給大家介紹一下MCI Command String的使用方法。
MCI Command String是通過mciExecute或mciSendString兩個函數執行的。這兩個函數的聲明如下:
Private Declare Function mciExecute Lib "winmm.dll" Alias "mciExecute" (ByVal lpstrCommand As String) As Long
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
這兩個函數都有一個叫lpstrCommand的參數, 這個參數就是我們今天要介紹的MCI Command String。其中函數mciSendString還有三個參數,lpstrReturnString是一個字符串,它用來接收mciSendString函數返回的信息(例如,我們在lpstrCommand中的ming令是讓函數返回打開的文件的設備類型,那么函數就把設備類型的信息保存在這個參數中。);uReturnLength參數用來指定參數lpstrReturnString的長度;hwndCallback是接收“wait”、“notify”消息的窗口句柄,在Visual Basic中調用時該參數設為0即可。
如果ming令執行出錯,函數mciExecute會直接彈出一個對話框,提示出錯的原因。而mciSendString函數會返回一個ErrorCode (錯誤代碼),該代碼的具體含義您可以參考MSDN中的目錄“Platform SDKGraphics and Multimedia ServicesWindows MultimediaMultimedia ReferenceMultimedia ConstantsMCIERR Return Values”。您可以根據具體情況選擇到底使用哪一個函數來執行MCIming令。例如,在調試的時候使用mciExecute,以便快速地獲得錯誤原因,而在將要發布的程序中使用mciSendString函數,讓程序中已設置的錯誤陷阱去處理錯誤,以避免頻繁的錯誤提示而使用戶覺得厭煩。
 
在熟悉了這兩個函數后,我們就可以進入正題?D?DMCI Command String了。
MCI Command String的ming令格式是這樣的:lpszCommand lpszDevice lpszCommandFlag lpazFlag
lpszCommand是mciming令,例如open,play,stop,close等等。
lpszDevice是設備名(或文件名)。例如,我們用以下的程序打開了我的文檔中的Music01.dat文件,并用“alias”參數將其別名設為OpenFile:
dim lReturn as long                                                               (1)
lReturn=mciExecute(“open C:Mydocu~1Music01.dat alias OpenFile type MPEGVideo”)      (2)
那么,在以后的MCI Command String中lpszDevice參數必須指定為OpenFile。例如,關閉該文件的代碼如下:
lReturn=mciExecute(“close OpenFile”)                                               (3)
如果我們沒有為打開的文件設定別名,則以后調用的MCI Command String中lpszDevice參數為DOS路徑名加文件名。例子如下:
dim lReturn as long                                                               (4)
lReturn=mciExecute(“open C:Mydocu~1Music01.dat type MPEGVideo”)                  (5)
lReturn=mciExecute(“close C:Mydocu~1Music01.dat type MPEGVideo”)                  (6)
從這里可以看出,設定別名的好處是減少了代碼的輸入。
LpszCommandFlag是mciming令的參數。如上代碼(2),“alias OpenFile”以及“type MPEGVideo”就是ming令“open”的參數。通常一個mciming令的參數少則幾個多則幾十個。
LpazFlag可以為指定為“wait”或“notity”。如果為“wait”,那么mciming令執行完畢后會向父窗體發送MCI_WAIT消息,“notity”則發送MCI_NOTIFY消息。此參數在Visual Basic中無甚用處。
 
在此先聲明一下,微軟支持的多媒體設備的類型共有cdaudio,dat,digitalvideo,other,overlay,scanner,sequencer,vcr,videodisc,waveaudio十種(注意:微軟不支持RealPlay格式的文件。您可以用以下代碼獲得已打開的文件的類型:lReturn=mciSendString(“capability lpszDevice device type”,sReturn,32,0) )。至于哪一類設備支持哪些參數,您可以在MSDN中查找關鍵字“MCI Command Strings”,選中所列出的ming令,在其中的HTML幫助文檔中通常會有一個表格告訴你哪些設備支持哪些參數或者在第一段中有信息告訴您哪些設備支持該ming令。
好了,現在讓我們對又繁索,又該死,又強大的mciming令參數作一個系統的介紹。(本文僅介紹openming令的常用參數,其它ming令的參數有機會小弟再介紹給大家。)
open:
該ming令用來打開一個多媒體文件。所有的設備都支持這個ming令。在任何mciming令執行前,都必須先打開多媒體文件,以初始化設備。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲影视一区 | 国产成人一区二区三区 | 午夜久久 | 亚洲伊人影院 | 久久国产视频网站 | 国产欧美综合在线 | 三区av| 国产精品12| 精品日韩欧美一区二区在线播放 | 国产美女在线播放 | 伊人免费视频二 | 亚洲精品久久久久国产 | 中文字幕在线电影观看 | 日韩视频在线播放 | 亚洲四区| 成人亚洲精品久久久久 | 日韩精品久久久久久 | 日韩成人一区二区 | 9久9久9久女女女九九九一九 | 久久草视频 | 国产精品久久国产精麻豆99网站 | 久草免费电影 | 黄色在线观看 | 自拍在线| 亚洲蜜臀av乱码久久精品蜜桃 | 国产精品视频久久久 | 亚洲国产精品久久 | 欧美一区二区三区在线看 | 91精品蜜臀一区二区三区在线 | 99精品欧美一区二区三区综合在线 | 懂色一区二区三区免费观看 | 天天操天天干天天爽 | 国产精品自产拍在线观看桃花 | 91久久综合亚洲鲁鲁五月天 | 日本亚洲精品一区二区三区 | 精品一区二区三区四区五区 | 国产传媒在线视频 | 久久精品99国产精品日本 | 亚洲精品视频免费看 | 中文字幕在线免费视频 | 九九热这里只有精品在线观看 |