国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實現通過winmm.dll控制聲音播放的方法

2020-01-24 02:31:21
字體:
來源:轉載
供稿:網友

本文以實例介紹了C#如何通過winmm.dll來播放聲音,主要實現步驟如下:

1.首先導入如下兩個函數:

/// <summary>/// 向媒體控制接口發送控制命令/// </summary>/// <param name="lpszCommand">命令,參見/// http://msdn.microsoft.com/en-us/library/windows/desktop/dd743572(v=vs.85).aspx </param>/// <param name="lpszReturnString">命令返回的信息,如果沒有需要返回的信息可以為null</param>/// <param name="cchReturn">指定返回信息的字符串大小</param>/// <param name="hwndCallback">回調句柄,如果命令參數中沒有指定notify標識,可以為new IntPtr(0)</param>/// <returns>返回命令執行狀態的錯誤代碼</returns>[DllImport("winmm.dll")]static extern Int32 mciSendString(string lpszCommand, StringBuilder returnString, int bufferSize, IntPtr hwndCallback);/// <summary>/// 返回對執行狀態錯誤代碼的描述/// </summary>/// <param name="errorCode">mciSendCommand或者mciSendString返回的錯誤代碼</param>/// <param name="errorText">對錯誤代碼的描述字符串</param>/// <param name="errorTextSize">指定字符串的大小</param>/// <returns>如果ERROR Code未知,返回false</returns>[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.可以通過以下語句進行播放控制:

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)); //關閉

感興趣的讀者可以動手測試一下本文實例,相信會對大家的C#程序設計起到一定的借鑒與幫助作用。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 衢州市| 玛曲县| 乌兰浩特市| 茌平县| 靖远县| 晋州市| 和政县| 海伦市| 嘉黎县| 宿迁市| 绍兴县| 涪陵区| 开原市| 鄂伦春自治旗| 确山县| 静安区| 永宁县| 类乌齐县| 宁夏| 水城县| 华安县| 贡山| 镇远县| 肇源县| 南澳县| 绿春县| 怀远县| 麻栗坡县| 长春市| 晴隆县| 冷水江市| 阿拉尔市| 巴林左旗| 江阴市| 龙井市| 平凉市| 镶黄旗| 咸宁市| 黑水县| 老河口市| 凤庆县|