對(duì)于MCI控制音樂播放器,其實(shí)它主要的API無非就幾個(gè),通過封裝的函數(shù)對(duì)命令進(jìn)行解析然后執(zhí)行命令。MCI包含的方式有以下兩種:
第一種:
mciSendCommand(MCIDEVICEID wDeviceID, UINT uMsg, DWord dwFlags,DWORD dwParam);
通過命令字符串方式,用接近于日常生活用語的方式發(fā)送控制命令,適用于高級(jí)編程如VB、TOOLBOOK等。
第二種:
mciSendString(LPCTSTR lpszCommand, LPTSTR lpszReturnString, UINTcchReturn, HANDLE hwndCallback);
命令消息方式,用專業(yè)語法發(fā)送控制消息,適用于VC等語言編程,此方式直接與MCI設(shè)備打交道。我們奔逃教程正是采用這種方法。
mciSendString幾乎可以實(shí)現(xiàn)全部的音樂播放、暫停、停止以及常見的控制操作都可以通過這個(gè)函數(shù)實(shí)現(xiàn),它的原型如下:
MCIERROR mciSendString( LPCTSTR lpszCommand, //第一個(gè)參數(shù)為一串控制字符串 LPTSTR lpszReturnString, //系統(tǒng)返回的信息 UINT cchReturn, //指明返回信息的最大長度 HANDLE hwndCallback //若對(duì)MCI裝置設(shè)定了"notify"標(biāo)志則需要在第四個(gè)參數(shù)填上返回窗口句柄。 );
這個(gè)函數(shù)的返回值為執(zhí)行成功與否的錯(cuò)誤值,正常執(zhí)行成功則返回0,否則返回錯(cuò)誤代碼
而它的四個(gè)參數(shù)作用分別為:
第一個(gè)參數(shù),是一個(gè)字符串的指針類型,表示要執(zhí)行的命令
第二個(gè)參數(shù),是一個(gè)返回回來的的緩沖區(qū),為字符串指針類型
第三個(gè)參數(shù),是這個(gè)緩沖區(qū)(即第二個(gè)參數(shù))的長度大小
第四個(gè)參數(shù),為回調(diào)窗口的句柄,本教程為控制臺(tái)應(yīng)用基本不需要,所以傳NULL
可以看到,主要是第一個(gè)參數(shù)為我們具體的命令,大家弄明白這個(gè)函數(shù),我們就可以實(shí)現(xiàn)對(duì)音樂的基本控制了。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會(huì)語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程