好久沒用都要忘記了,記錄下,溫故而知新。
1. 播放系統事件聲音
System.Media.SystemSounds.Asterisk.Play();
System.Media.SystemSounds.Beep.Play();
System.Media.SystemSounds.Exclamation.Play();
System.Media.SystemSounds.Hand.Play();
2 使用System.Media.SoundPlayer播放.wav音樂文件
播放WAV格式的聲音
常用屬性
IsLoadCompleted 聲音資源是否加載完成
LoadTimeout 加載聲音資源的最大允許時間(毫秒)
SoundLocation 聲音資源的位置
Stream 聲音資源的字節流(可以指定聲音資源的位置,也可以指定已經加載的字節流)
常用方法
Dispose() 釋放聲音資源並銷毀對象
Load() 加載聲音資源
Play() 在新線程播放一次,如果聲音資源未加載,則首先加載
PlayLooping() 在新線程循環播放,如果聲音資源未加載,則首先加載
Stop() 停止播放
常用事件
Disposed 聲音資源被釋放后觸發
LoadCompleted 聲音資源加載完成或失敗后觸發
SoundLocationChanged 聲音資源的位置改變后觸發
StreamChanged 聲音資源的字節流改變后觸發
System.Media.SoundPlayer sp = new SoundPlayer(); sp.SoundLocation = @"D:/ms.wav"; sp.PlayLooping();
3.使用MCI Command String多媒體設備程序接口播放mp3,avi等
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace MyWenxinTool { public class musicplay { public static uint SND_ASYNC = 0x0001; public static uint SND_FILENAME = 0x00020000; [DllImport("winmm.dll")] public static extern uint mciSendString(string lpstrCommand, string lpstrReturnString, uint uReturnLength, uint hWndCallback); public static void PlayNmusinc(string path) { mciSendString(@"close temp_alias", null, 0, 0); mciSendString(@"open """+path+@""" alias temp_alias", null, 0, 0); mciSendString("play temp_alias repeat", null, 0, 0); } /// <summary> /// 播放音樂文件(重復) /// </summary> /// <param name="p_FileName">音樂文件名稱</param> public static void PlayMusic_Repeat(string p_FileName) { try { mciSendString(@"close temp_music", " ", 0, 0); mciSendString(@"open " + p_FileName + " alias temp_music", " ", 0, 0); mciSendString(@"play temp_music repeat", " ", 0, 0); } catch { } } /// <summary> /// 播放音樂文件 /// </summary> /// <param name="p_FileName">音樂文件名稱</param> public static void PlayMusic(string p_FileName) { try { mciSendString(@"close temp_music", " ", 0, 0); //mciSendString(@"open " + p_FileName + " alias temp_music", " ", 0, 0); mciSendString(@"open """ + p_FileName + @""" alias temp_music", null, 0, 0); mciSendString(@"play temp_music", " ", 0, 0); } catch { } } /// <summary> /// 停止當前音樂播放 /// </summary> /// <param name="p_FileName">音樂文件名稱</param> public static void StopMusic(string p_FileName) { try { mciSendString(@"close " + p_FileName, " ", 0, 0); } catch { } } } }
