程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#完成經由過程winmm.dll掌握聲響播放的辦法

C#完成經由過程winmm.dll掌握聲響播放的辦法

編輯:C#入門知識

C#完成經由過程winmm.dll掌握聲響播放的辦法。本站提示廣大學習愛好者:(C#完成經由過程winmm.dll掌握聲響播放的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成經由過程winmm.dll掌握聲響播放的辦法正文


本文以實例引見了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#法式設計起到必定的自創與贊助感化。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved