強力鎯頭 VB BLOG

文章分類

每月文章

文章標籤

全部標籤

C# 如何撥放 Wave 音效檔

 

C# 如何撥放 Wave 音效檔

 

方法 1: 

 

直接使用 System.Media.SoundPlayer 類別

 

System.Media.SoundPlayer sp = new System.Media.SoundPlayer();

sp.SoundLocation = @"C:\Wave音效檔\DoReMe.wav";

sp.Play(); // 撥放

// sp.Stop(); // 停止

 

 

================================================================

 

 

方法 2: 

 

呼叫 VB.Net My.Computer.Audio.Play 類別

 

注意 :  請先加入參考 "Microsoft.VisualBasic"

 

using Microsoft.VisualBasic;

using Microsoft.VisualBasic.Devices;

 

// 設定播放模式

AudioPlayMode intMode = 0; // AudioPlayMode 列舉型別有底下幾種

 

// 在背景中播放聲音。呼叫程式碼會繼續執行。

intMode = AudioPlayMode.WaitToComplete; // 一次播放

 

// 在背景中播放聲音,直到呼叫My.Computer.Audio.Stop 方法為止。

intMode = AudioPlayMode.Background; // 背景播放

 

// 播放聲音,並等候它完成後,再繼續呼叫程式碼。

intMode = AudioPlayMode.BackgroundLoop; // 重複播放

 

// PS : WaitToComplete / Background / BackgroundLoop 選擇其一即可

 

// 呼叫My.Computer.Audio.Play 方法播放Wave

new Computer().Audio.Play(@"C:\Wave音效檔\DoReMe.wav", intMode);

 

// new Computer().Audio.Stop(); // 停止播放

 

 

================================================================

 

 

方法 3: 

 

呼叫 VB.Net My.Computer.Clipboard.SetAudio , My.Computer.Clipboard.GetAudioStream

My.Computer.Audio.Play 類別等進行 Wave 音效檔播放

 

注意 :  請先加入參考 "Microsoft.VisualBasic"

 

using System.IO;

using Microsoft.VisualBasic;

using Microsoft.VisualBasic.Devices;

 

// 使用FileStream 類別將音效檔開啟讀成AudioStream

FileStream fs = new FileStream(@"C:\Wave音效檔\DoReMe.wav", FileMode.Open);

 

//  WaveAudio 格式資料加至剪貼簿。

new Computer().Clipboard.SetAudio(fs);

 

// 建立My.Computer 物件類別

Computer cpt = new Computer();

 

// 指出剪貼簿上是否有WaveAudio 格式的資料。

if (cpt.Clipboard.ContainsAudio() == true)

{

// 呼叫My.Computer.Audio.Play 方法播放Wave

cpt.Audio.Play(cpt.Clipboard.GetAudioStream(), AudioPlayMode.Background);

// cpt.Clipboard.GetAudioStream() 從剪貼簿擷取音效串流。

// AudioPlayMode.Background 背景播放

 

// cpt.Audio.Stop();  // 停止播放

}

 

 

posted on 2008/3/24 21:15 | 我要推薦 | 閱讀數 : 1259 | 文章分類 [ VB.Net / C#.Net / ] 訂閱

Feedback

# re: C# 如何撥放 Wave 音效檔 2008/6/10 下午 07:06 rita 回覆

請問
路徑要如何改, 才能讓執行檔一執行就可以聽到音樂呢?
就是不管到哪台電腦,路徑都是正確的!

麻煩您解惑

# re: C# 如何撥放 Wave 音效檔 2008/6/19 上午 12:01 回覆

在bin檔案裡面的加入一個music的檔夾然後打下面的程式就可以了

sp.SoundLocation = Directory.GetCurrentDirectory() + @"\music\A.wav";

要記得先加入using System.IO;

# re: C# 如何撥放 Wave 音效檔 2008/7/7 下午 11:12 回覆

好像沒辦法...
我在C#做一個 setup

安裝到別人電腦裡 , 並不會有A.wav
別人也找不到wav的檔案
我真的苦惱了很久>< , 拜託你了 !!

# re: C# 如何撥放 Wave 音效檔 2008/11/7 上午 12:37 Helen 回覆

你好,很感謝你分享程式碼,讓我們能多多向你學習!

我想發問!(舉手~)

根據你的回答,這是bin檔案裡加入的~
sp.SoundLocation = Directory.GetCurrentDirectory() + @"\music\A.wav";

想請您解釋Directory.GetCurrentDirectory()這段?
打完會出現名稱 'Directory' 不存在於目前內容
是要再加入什麼參考嗎?

還有為什麼路徑前要加"@"這個阿?是什麼意思?

不好意思黑~整個新手..
再請問你有什麼建議的書嗎?
謝謝!



# re: C# 如何撥放 Wave 音效檔 2008/11/7 上午 01:01 helen 回覆

= ="~我忘記加system.io...拍謝
剛剛閱讀到的!
不好意思= ="

# re: C# 如何撥放 Wave 音效檔 2008/11/7 上午 01:05 Quey 回覆

那有辦法讀mp3檔案嗎?
3Q

# re: C# 如何撥放 Wave 音效檔 2008/11/7 上午 09:58 PowerHammer 回覆

MP3 部份可以參考

http://itgroup.blueshop.com.tw/HammerChou/PowerHammer?n=convew&i=3459

# re: C# 如何撥放 Wave 音效檔 2008/11/8 下午 08:30 Quey 回覆

to PowerHammer :
但是是寫VB.NET..
友C#.NET的語法嗎?

# re: C# 如何撥放 Wave 音效檔 2008/11/9 上午 11:52 chhuang 回覆

如果是使用 .Net Framework 3.0 以上的話

可以加入 Reference: PresentationCore 與 WindowsBase,並利用下列程式碼播放 wav 或是 mp3 皆可。

            MediaPlayer mp = new MediaPlayer();
            string filename = Application.StartupPath + @"\01.mp3";
            mp.Open(new Uri(filename, UriKind.Relative));
            mp.Play();

 

標題
姓名
電子郵件 (將不會被顯示)
個人網頁
內容
登入後使用進階評論
Please add 5 and 4 and type the answer here: