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

首頁 > 學院 > 開發設計 > 正文

C#播放MP3源代碼

2019-11-17 03:04:22
字體:
來源:轉載
供稿:網友

C#播放MP3源代碼

代碼如下:

  1 using System;  2 using System.Runtime.InteropServices;   3 using System.Text;   4 using System.IO ;  5 using System.Windows.Forms;   6 namespace Windowsapplication7  7 {  8 /// <summary>  9 /// clsMci 的摘要說明。 10 /// </summary> 11  public class clsMCI 12 { 13 public clsMCI() 14 { 15 // 16 // TODO: 在此處添加構造函數邏輯 17 // 18   } 19  20 //定義API函數使用的字符串變量  21   [MarshalAs(UnmanagedType.ByValTStr,SizeConst=260)] 22 PRivate string Name = "" ; 23 [MarshalAs(UnmanagedType.ByValTStr,SizeConst=128)] 24 private string durLength = "" ; 25 [MarshalAs(UnmanagedType.LPTStr,SizeConst=128)] 26 private string TemStr =""; 27 int ilong; 28 //定義播放狀態枚舉變量 29   public enum State 30 { 31 mPlaying = 1, 32 mPuase = 2, 33 mStop = 3 34 }; 35 //結構變量 36   public struct structMCI  37 { 38 public bool bMut; 39 public int iDur; 40 public int ipos; 41 public int iVol; 42 public int iBal; 43 public string iName; 44 public State state; 45 }; 46  47 public structMCI mc =new structMCI() ; 48  49 //取得播放文件屬性 50   public string FileName 51 { 52 get 53 { 54 return mc.iName; 55 } 56 set 57 { 58 //ASCIIEncoding asc = new ASCIIEncoding();  59     try 60 { 61 TemStr ="";  62 TemStr = TemStr.PadLeft(127,Convert.ToChar(" ")); 63 Name = Name.PadLeft(260,Convert.ToChar(" ")) ; 64 mc.iName = value;  65 ilong = APIClass.GetShortPathName(mc.iName,Name, Name.Length); 66 Name = GetCurrPath(Name); 67 //Name = "open " + Convert.ToChar(34) + Name + Convert.ToChar(34) + " alias media"; 68      Name = "open " + Convert.ToChar(34) + Name + Convert.ToChar(34) + " alias media"; 69 ilong = APIClass.mciSendString("close all", TemStr, TemStr.Length , 0); 70 ilong = APIClass.mciSendString( Name, TemStr, TemStr.Length, 0); 71 ilong = APIClass.mciSendString("set media time format milliseconds", TemStr, TemStr.Length , 0); 72 mc.state = State.mStop;  73 } 74 catch 75 { 76 } 77 } 78 } 79 //播放  http://sosoft.VEVb.com/ 80   public void play() 81 { 82 TemStr = ""; 83 TemStr = TemStr.PadLeft(127,Convert.ToChar(" ")); 84 APIClass.mciSendString("play media", TemStr, TemStr.Length , 0); 85 mc.state = State.mPlaying ; 86 } 87 //停止 88   public void StopT() 89 { 90 TemStr = ""; 91 TemStr = TemStr.PadLeft(128,Convert.ToChar(" ")); 92 ilong = APIClass.mciSendString("close media", TemStr, 128, 0); 93 ilong = APIClass.mciSendString("close all", TemStr, 128, 0); 94 mc.state = State.mStop ;  95 } 96  97 public void Puase() 98 { 99 TemStr = "";100 TemStr = TemStr.PadLeft(128,Convert.ToChar(" "));101 ilong = APIClass.mciSendString("pause media", TemStr, TemStr.Length, 0);102 mc.state = State.mPuase ; 103 }104 private string GetCurrPath(string name)105 {106 if(name.Length <1) return ""; 107 name = name.Trim();108 name = name.Substring(0,name.Length-1);109 return name;110 }111 //總時間112   public int Duration113 {114 get115 {116 durLength = "";117 durLength = durLength.PadLeft(128,Convert.ToChar(" ")) ;118 APIClass.mciSendString("status media length", durLength, durLength.Length, 0);119 durLength = durLength.Trim();120 if(durLength == "") return 0;121 return (int)(Convert.ToDouble(durLength) / 1000f); 122 }123 }124 125 //當前時間126   public int CurrentPosition127 {128 get129 {130 durLength = "";131 durLength = durLength.PadLeft(128,Convert.ToChar(" ")) ;132 APIClass.mciSendString("status media position", durLength, durLength.Length, 0);133 mc.iPos = (int)(Convert.ToDouble(durLength) / 1000f);134 return mc.iPos;135 }136 }137 }138 139 public class APIClass140 {141 [DllImport("kernel32.dll", CharSet = CharSet.Auto)]142 public static extern int GetShortPathName (143 string lpszLongPath,144 string shortFile,145 int cchBuffer146 );147 148 [DllImport("winmm.dll", EntryPoint="mciSendString", CharSet = CharSet.Auto)]149 public static extern int mciSendString (150 string lpstrCommand,151 string lpstrReturnString,152 int uReturnLength,153 int hwndCallback154 );155 }156 }157 158 159 160 161 162 clsMCI cm = new clsMCI();163             cm.FileName = "keleyi.mp3";//文件名164             cm.play();


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海南省| 泸州市| 三亚市| 镇雄县| 花莲市| 左云县| 东阳市| 垦利县| 高雄市| 拜泉县| 穆棱市| 泰安市| 蓝山县| 伊金霍洛旗| 湟源县| 称多县| 呈贡县| 永泰县| 贵州省| 奉化市| 云阳县| 大安市| 久治县| 祁门县| 布尔津县| 左权县| 滕州市| 崇义县| 隆回县| 吐鲁番市| 汉中市| 神木县| 琼海市| 抚远县| 农安县| 丰台区| 龙游县| 礼泉县| 抚远县| 南通市| 奈曼旗|