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

首頁 > 編程 > C# > 正文

C#實現簡單播放mp3的方法

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

本文實例講述了C#實現簡單播放mp3的方法。分享給大家供大家參考。具體實現方法如下:

/// <summary>/// 測試/// </summary>class TestDemo{ public void Test() {  clsMCI cm = new clsMCI();  cm.FileName = "alarm.mp3";  cm.play(); }}/// <summary>/// clsMci 的摘要說明。/// </summary>public class clsMCI{ public clsMCI() { } //定義API函數使用的字符串變量  [MarshalAs(UnmanagedType.ByValTStr,SizeConst=260)] private string Name = "" ; [MarshalAs(UnmanagedType.ByValTStr,SizeConst=128)] private string durLength = "" ; [MarshalAs(UnmanagedType.LPTStr,SizeConst=128)] private string TemStr =""; int ilong; //定義播放狀態枚舉變量 public enum State {  mPlaying = 1,  mPuase = 2,  mStop = 3 }; //結構變量 public struct structMCI  {  public bool bMut;  public int iDur;  public int iPos;  public int iVol;  public int iBal;  public string iName;  public State state; }; public structMCI mc =new structMCI() ; //取得播放文件屬性 public string FileName {  get  {  return mc.iName;  }  set  {    try    {     TemStr ="";      TemStr = TemStr.PadLeft(127,Convert.ToChar(" "));     Name = Name.PadLeft(260,Convert.ToChar(" ")) ;     mc.iName = value;      ilong = APIClass.GetShortPathName(mc.iName,Name, Name.Length);     Name = GetCurrPath(Name);     Name = "open " + Convert.ToChar(34) + Name + Convert.ToChar(34) + " alias media";     ilong = APIClass.mciSendString("close all", TemStr, TemStr.Length , 0);     ilong = APIClass.mciSendString( Name, TemStr, TemStr.Length, 0);     ilong = APIClass.mciSendString("set media time format milliseconds", TemStr, TemStr.Length , 0);     mc.state = State.mStop;     }    catch    {    }  } } //播放 public void play() {  TemStr = "";  TemStr = TemStr.PadLeft(127,Convert.ToChar(" "));  APIClass.mciSendString("play media", TemStr, TemStr.Length , 0);  mc.state = State.mPlaying ; } //停止 public void StopT() {  TemStr = "";  TemStr = TemStr.PadLeft(128,Convert.ToChar(" "));  ilong = APIClass.mciSendString("close media", TemStr, 128, 0);  ilong = APIClass.mciSendString("close all", TemStr, 128, 0);  mc.state = State.mStop ;  } public void Puase() {  TemStr = "";  TemStr = TemStr.PadLeft(128,Convert.ToChar(" "));  ilong = APIClass.mciSendString("pause media", TemStr, TemStr.Length, 0);  mc.state = State.mPuase ;  } private string GetCurrPath(string name) {  if(name.Length <1) return "";   name = name.Trim();  name = name.Substring(0,name.Length-1);  return name; } //總時間 public int Duration {  get  {   durLength = "";   durLength = durLength.PadLeft(128,Convert.ToChar(" ")) ;   APIClass.mciSendString("status media length", durLength, durLength.Length, 0);   durLength = durLength.Trim();   if(durLength == "") return 0;   return (int)(Convert.ToDouble(durLength) / 1000f);   } } //當前時間 public int CurrentPosition {  get  {   durLength = "";   durLength = durLength.PadLeft(128,Convert.ToChar(" ")) ;   APIClass.mciSendString("status media position", durLength, durLength.Length, 0);   mc.iPos = (int)(Convert.ToDouble(durLength) / 1000f);   return mc.iPos;  } }}public class APIClass{  [DllImport("kernel32.dll", CharSet = CharSet.Auto)]  public static extern int GetShortPathName (   string lpszLongPath,   string shortFile,   int cchBuffer);[DllImport("winmm.dll", EntryPoint="mciSendString", CharSet = CharSet.Auto)]public static extern int mciSendString (   string lpstrCommand,   string lpstrReturnString,   int uReturnLength,   int hwndCallback  );}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商丘市| 中西区| 来安县| 铅山县| 上思县| 涡阳县| 揭西县| 黑河市| 平湖市| 紫阳县| 托里县| 普安县| 涞源县| 武功县| 岳普湖县| 和硕县| 光山县| 城固县| 岢岚县| 句容市| 神池县| 绥阳县| 磐安县| 丁青县| 涿鹿县| 灵寿县| 海安县| 册亨县| 元朗区| 桦甸市| 定州市| 称多县| 高邮市| 宁波市| 三台县| 枝江市| 阿拉善左旗| 缙云县| 巴南区| 柳河县| 义乌市|