图片墙网站源码,大连网站排名系统,怎么做广告图片设计,视频网站 wordpress主题C#播放音频文件的方式#xff1a;
播放系统事件声音使用System.Media.SoundPlayer播放wav使用MCI Command String多媒体设备程序接口播放mp3#xff0c;wav#xff0c;avi等使用WindowsMediaPlayer的COM组件来播放(可视化)使用DirectX播放音频文件使用Speech播放(朗读器
播放系统事件声音使用System.Media.SoundPlayer播放wav使用MCI Command String多媒体设备程序接口播放mp3wavavi等使用WindowsMediaPlayer的COM组件来播放(可视化)使用DirectX播放音频文件使用Speech播放(朗读器可朗读文本)
这里讲不需要引用dll就能播放音频的几种方式 1、播放系统事件声音
System.Media.SystemSounds.Asterisk.Play(); //星号
System.Media.SystemSounds.Beep.Play(); //提示音
System.Media.SystemSounds.Exclamation.Play(); //感叹
System.Media.SystemSounds.Hand.Play(); //协助
System.Media.SystemSounds.Question.Play(); //问题
2、使用MCI Command String播放音频文件可以支持多种格式(mp3wavavi)且不需要额外引用dll可以循环播放音频 public class AudioPlayer{public AudioPlayer(){}//定义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); //单次播放//APIClass.mciSendString(play media repeat, 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);}
其他请参考
https://kernel.blog.csdn.net/article/details/50845805
C#播放语音和字幕实列
https://download.csdn.net/download/lvxingzhe3/88657604