最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2014年08月18日 09:19:58   投稿:shichen2014  
這篇文章主要介紹了C#實現通過winmm.dll控制聲音播放的方法,很實用的功能,需要的朋友可以參考下

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

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

/// <summary>
/// 向媒體控制接口發(fā)送控制命令
/// </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>返回命令執(zhí)行狀態(tài)的錯誤代碼</returns>
[DllImport("winmm.dll")]
static extern Int32 mciSendString(string lpszCommand, StringBuilder returnString, int bufferSize, IntPtr hwndCallback);
/// <summary>
/// 返回對執(zhí)行狀態(tài)錯誤代碼的描述
/// </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#程序設計起到一定的借鑒與幫助作用。

相關文章

  • C#中Abstract 、Virtual和Override的使用及區(qū)別

    C#中Abstract 、Virtual和Override的使用及區(qū)別

    C#中virtual,abstract,override用于方法重載,子類覆蓋了父類的相同方法,父類中的實現不可能再被外面調用。本文給大家重點介紹C#中Abstract 、Virtual和Override的使用及區(qū)別,需要的朋友參考下吧
    2021-06-06
  • C#如何取硬件標志

    C#如何取硬件標志

    C#如何取硬件標志...
    2007-03-03
  • 解決Unity項目中UI腳本丟失的問題

    解決Unity項目中UI腳本丟失的問題

    這篇文章主要介紹了解決Unity項目中UI腳本丟失的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • c# 圖片加密解密的實例代碼

    c# 圖片加密解密的實例代碼

    這篇文章介紹了c# 圖片加密解密的實例代碼,有需要的朋友可以參考一下
    2013-08-08
  • C#無損壓縮圖片

    C#無損壓縮圖片

    本文主要介紹了C#無損壓縮圖片的相關知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04
  • c#使用htmlagilitypack解析html格式字符串

    c#使用htmlagilitypack解析html格式字符串

    這篇文章主要介紹了c#使用htmlagilitypack解析html格式字符串的示例,需要的朋友可以參考下
    2014-03-03
  • C#基礎:基于const與readonly的深入研究

    C#基礎:基于const與readonly的深入研究

    本篇文章是對c#中const與readonly進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C#無損高質量壓縮圖片實現代碼

    C#無損高質量壓縮圖片實現代碼

    這篇文章主要為大家詳細介紹了C#無損高質量壓縮圖片的實現代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • C#實現QQ聊天窗口

    C#實現QQ聊天窗口

    這篇文章主要為大家詳細介紹了C#實現QQ聊天窗口,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C# wpf Grid中實現控件拖動調整大小的示例代碼

    C# wpf Grid中實現控件拖動調整大小的示例代碼

    本文主要介紹了C# wpf Grid中實現控件拖動調整大小的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08

最新評論

南漳县| 达拉特旗| 班戈县| 广东省| 广灵县| 玉环县| 永川市| 东兰县| 息烽县| 夹江县| 两当县| 乌鲁木齐市| 梁河县| 纳雍县| 荆门市| 灵宝市| 文登市| 双辽市| 罗城| 中西区| 荃湾区| 安仁县| 钦州市| 古田县| 鄂托克旗| 娄烦县| 阳曲县| 什邡市| 双鸭山市| 镇坪县| 茂名市| 肥乡县| 西华县| 广灵县| 景德镇市| 宁蒗| 确山县| 工布江达县| 清丰县| 延川县| 同德县|