多媒體MCI的簡單編程

來源:互聯網
上載者:User

MCI 是Windows提供多媒體裝置的介面。

 

MCI 的編程步驟 : 發送 MCI_OPEN 命令開啟裝置--->發送MCI_PLAY 命令播放裝置---->發送MCI_CLOASE

 

使用mciSendCommand函數可以向指定的裝置發送一個命令,mciSendCommand的定義如下

 

MCIERROR mciSendCommand(<br /> MCIDEVICEID IDDevice, //裝置ID<br /> UINT uMsg, //命令類型<br /> DWORD fdwCommand, //命令標誌位<br /> DWORD dwParam //命令參數<br />);<br /> 

 

 

下面的一個樣本 開啟 MP3檔案播放

 

#include "stdafx.h"<br />#include <mmsystem.h><br />#pragma comment(lib,"winmm.lib");<br />int APIENTRY WinMain(HINSTANCE hInstance,<br /> HINSTANCE hPrevInstance,<br /> LPSTR lpCmdLine,<br /> int nCmdShow)<br />{<br /> //1.開啟裝置<br />MCI_OPEN_PARMS openParms;//MCI_OPEN命令需要參數結構體<br />openParms.lpstrDeviceType="MPEGvideo";//MP3的檔案裝置ID為MPEGvideo<br />openParms.lpstrElementName="C://1.MP3";//MP3檔案的存放路徑<br />//發送命令<br />mciSendCommand(<br />NULL,//開啟裝置不需要裝置ID<br />MCI_OPEN,//MCI_OPEN,此命令表示開啟裝置<br />MCI_OPEN_ELEMENT|MCI_OPEN_TYPE|MCI_WAIT,<br />(DWORD)(LPVOID(&openParms)));//傳遞MCI_OPEN_PARMS參數<br />/*MCI_OPEN_ELEMENT 表示MCI_OPEN_PARMS的lpstrElementName有效<br /> MCI_OPEN_TYPE表示MCI_OPEN_PARMS的lpstrDeviceType有效<br /> MCI_WAIT表示命令發送後會一直等待,知道操作完成<br /> (如果是MCI_NOTIFY,則表示發送命令後會立即返回,當操作真正完畢後發出通告訊息)*/</p><p>//裝置開啟完畢,裝置ID被存放到openParms.wDeviceID中<br />WORD m_wDeviceID=openParms.wDeviceID;<br />//2、播放裝置<br />MCI_PLAY_PARMS playParms;//MCI_PLAY命令需要的參數結構體<br />mciSendCommand(<br />m_wDeviceID,//需要的裝置ID<br />MCI_PLAY,//此命令播放裝置<br />MCI_WAIT,//等待播放檔案結束,然後返回<br />(DWORD)(LPVOID(&playParms)));//傳遞MCI_PLAY_PARMS參數<br />//3,關閉裝置<br />mciSendCommand(<br />m_wDeviceID,<br />MCI_CLOSE,<br />NULL,<br />NULL);<br />return 0;<br />}</p><p> 

 

 

MCI 支援的格式有限,因此用來開發播放器,會有些困難,但是在製作鬧鈴,提示音樂上還是很不錯的。

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.