唉~人真的是不能沒有筆記阿~~
以上是香蕉先生的工商時間XDDD
言歸正傳~~~~
其實google神了一下以後~也學到蠻多新招的啦XD
播放個音效而已~這麼多招-.-
using System.Media;
SoundPlayer sp = new SoundPlayer("sound位置"); sp.Play();
順便筆記一下MSDN的資料~~~
SoundPlayer 類別
控制 .wav 檔音效的播放。備註
SoundPlayer 類別 (Class) 提供簡單的介面可載入和播放 .wav 檔。SoundPlayer 類別支援從檔案路徑、URL、包含 .wav 檔的 Stream、或包含 .wav 檔的內嵌資源載入 .wav 檔。
若要使用 SoundPlayer 類別播放音效,請設定包含 .wav 檔路徑的 SoundPlayer 並呼叫其中一個播放方法。您可以使用其中一個建構函式 (Constructor),或者設定SoundLocation 或 Stream 屬性��辨認要播放的 .wav 檔。在播放之前可使用其中一個載入方法將檔案載入,也可以延到呼叫其中一個播放方法後再載入。設定從Stream 或從 URL 載入 .wav 檔的 SoundPlayer,必須在播放開始之前將 .wav 檔載入到記憶體中。
您可以同步或非同步載入或播放 .wav 檔。如果您呼叫同步載入或播放方法,呼叫緒執行會等待直到方法傳回,這可能會造成繪製和其他事件被中斷。呼叫非同步的載入或播放方法將允許呼叫執行緒持續運作而不中斷。如需非同步方法呼叫的詳細資訊,請參閱 HOW TO:在背景執行作業。
SoundPlayer 完成載入 .wav 檔後,它會引發 LoadCompleted 事件。您可以檢查事件處理常式中的 AsyncCompletedEventArgs,以判斷載入成功或失敗。當音效來源設定為新的檔案路徑或 URL 時,會引發 SoundLocationChanged 事件。當音效來源設定為新的 Stream 時,會引發 StreamChanged 事件。如需處理事件的詳細資訊,請參閱使用事件。
如需 SoundPlayer 的詳細資訊,請參閱 SoundPlayer 類別概觀。
版本資訊
支援版本:4、3.5、3.0、2.0
--------------------------------------------------------------------------
還有用載入winmm.dll~使用PlaySound的method來播放!!
範例
在下面的程式碼中,會使用 DllImport 將 winmm.dll 的 PlaySound 方法進入點匯入為 Form1 PlaySound()。這是以簡單的 Windows Form 再加上一個按鈕為例。按一下表單上的按鈕,即會顯示標準的 Windows OpenFileDialog 對話方塊,讓您開啟要播放的檔案。選取了 WAV 檔之後,便會使用 winmm.DLL 組件方法的PlaySound() 方法播放。如需 winmm.dll 之 PlaySound 方法的詳細資訊,請參閱 Using PlaySound to Play Waveform-Audio Files。瀏覽並選取副檔名為 .wav 的檔案,然後按一下 [開啟],使用平台叫用播放 WAV 檔。文字方塊會顯示所選取檔案的完整路徑。
[開啟檔案] 對話方塊會經過篩選設定,只顯示副檔名為 .wav 的檔案:
dialog1.Filter = "Wav Files (*.wav)|*.wav";
[System.Runtime.InteropServices.DllImport("winmm.DLL", EntryPoint = "PlaySound", SetLastError = true)] private static extern bool PlaySound(string szSound, System.IntPtr hMod, PlaySoundFlags flags); [System.Flags] public enum PlaySoundFlags : int { SND_SYNC = 0x0000, SND_ASYNC = 0x0001, SND_NODEFAULT = 0x0002, SND_LOOP = 0x0008, SND_NOSTOP = 0x0010, SND_NOWAIT = 0x00002000, SND_FILENAME = 0x00020000, SND_RESOURCE = 0x00040004 } private void button1_Click (object sender, System.EventArgs e) { OpenFileDialog dialog1 = new OpenFileDialog(); dialog1.Title = "Browse to find sound file to play"; dialog1.InitialDirectory = @"c:\"; dialog1.Filter = "Wav Files (*.wav)|*.wav"; dialog1.FilterIndex = 2; dialog1.RestoreDirectory = true; if(dialog1.ShowDialog() == DialogResult.OK) { textBox1.Text = dialog1.FileName; PlaySound (dialog1.FileName, new System.IntPtr(), PlaySoundFlags.SND_SYNC); } }
----------------------------------------------------------------
還有嵌入windows media player activex的方法~
不過好像有點太大才小用了XDDD
新增一個Windows Media Player的控制項到Form裡面~
然後....
//如果autopaly為true的話設定好url就會自動撥放了 //@的符號是告訴編譯器不要編譯反斜線~啾咪! axWindowsMediaPlayer1.URL = @"C:\Users\Lamborgini\Desktop\Gnomeregan.wmv"; //停止撥放 axWindowsMediaPlayer1.Ctlcontrols.stop();
AxWindowsMediaPlayer Object相關屬性+方法+事件底加!
沒有留言:
張貼留言