C#實(shí)現(xiàn)通過winmm.dll控制聲音播放的方法
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
本文以實(shí)例介紹了C#如何通過winmm.dll來播放聲音,主要實(shí)現(xiàn)步驟如下: 1.首先導(dǎo)入如下兩個(gè)函數(shù): /// 向媒體控制接口發(fā)送控制命令 /// 命令,參見 http://msdn.microsoft.com/en-us/library/windows/desktop/dd743572(v=vs.85).aspx /// 命令返回的信息,如果沒有需要返回的信息可以為null /// 指定返回信息的字符串大小 /// 回調(diào)句柄,如果命令參數(shù)中沒有指定notify標(biāo)識(shí),可以為new IntPtr(0) /// 返回命令執(zhí)行狀態(tài)的錯(cuò)誤代碼 [DllImport("winmm.dll")] static extern Int32 mciSendString(string lpszCommand, StringBuilder returnString, int bufferSize, IntPtr hwndCallback); /// 返回對(duì)執(zhí)行狀態(tài)錯(cuò)誤代碼的描述 /// mciSendCommand或者mciSendString返回的錯(cuò)誤代碼 /// 對(duì)錯(cuò)誤代碼的描述字符串 /// 指定字符串的大小 /// 如果ERROR Code未知,返回false [DllImport("winmm.dll")] static extern bool mciGetErrorString(Int32 errorCode, StringBuilder errorText, Int32 errorTextSize);
2.示例代碼如下: int error = mciSendString( "open C:\\Users\\Angel\\Desktop\\123.wav alias myDivece" , null , 0, new IntPtr(0)); if (error == 0) { mciSendString( "play myDivece" , null , 0, new IntPtr(0)); //播放 } else { StringBuilder errorText = new StringBuilder(); mciGetErrorString(error, errorText, 50); MessageBox.Show(errorText.ToString()); }
3.可以通過以下語句進(jìn)行播放控制: mciSendString( "play myDivece" , null , 0, new IntPtr(0)); //播放 mciSendString( "pause myDivece" , null , 0, new IntPtr(0)); //暫停 mciSendString( "stop myDivece" , null , 0, new IntPtr(0)); //停止 mciSendString( "close myDivece" , null , 0, new IntPtr(0)); //關(guān)閉
感興趣的讀者可以動(dòng)手測(cè)試一下本文實(shí)例,相信會(huì)對(duì)大家的C#程序設(shè)計(jì)起到一定的借鑒與幫助作用。 該文章在 2021/2/1 10:42:39 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |