2010-08-17 99 views

回答

157

你可以使用:

System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:\mywavfile.wav"); 
player.Play(); 
+19

這是完美的答案,因爲新用戶可以理解SoundPlayer屬於System.Media .... – 2010-08-22 18:11:32

+1

@ for是什麼? – 2014-03-15 12:28:20

+16

@Ali ... http://stackoverflow.com/questions/2361857/what-does-means-in-c-sharp 「這意味着將下面的字符串解釋爲文字。意思是,字符串中的\實際上是一個「\」在輸出中,而不是必須把「\\」表示文字字符「 – Praveen 2014-03-17 15:05:09

28

對於Windows窗體的方法之一是使用SoundPlayer

private void Button_Click(object sender, EventArgs e) 
{ 
    using (var soundPlayer = new SoundPlayer(@"c:\Windows\Media\chimes.wav")) { 
     soundPlayer.Play(); // can also use soundPlayer.PlaySync() 
    } 
} 

MSDN page

這也將與WPF工作,但你還有其他選項,如使用MediaPlayerMSDN page

+1

應該可以用''using'語句包裝,因爲它繼承自'Component' – cjk 2010-08-17 13:20:14

+0

@ck - 我只是展示了基礎知識,但是在生產代碼中是用''using'包裝它。 – ChrisF 2010-08-17 13:24:38

+1

更好的是,在生產代碼中,只需創建一次並多次使用它,而不是每次按下按鈕時都創建它。 – Shibumi 2012-03-08 21:07:01

63

您可以使用SystemSound,例如System.Media.SystemSounds.Asterisk.Play();

+4

+1很酷,我不知道 – 2010-08-17 12:30:12

+0

+1使用類似於'SystemColors'的內置實例。 – Shibumi 2012-03-08 21:07:42

+0

非常有用。它可以幫助使用系統默認值。 – 2014-04-30 19:45:10

7

其他信息。

對於想要無縫融入Windows環境的應用程序,這是一個高級別的答案。播放特定聲音的技術細節在其他答案中提供。除此之外,始終注意以下兩點:

  1. 使用五個標準的系統聲音在典型的場景,即

    • Asterisk的 - 玩的時候,你要突出當前事件

    • 問題 - 玩問題(系統消息框窗口彈這個)

    • 感嘆號 - 與excalamation圖標(系統消息框窗口中播放此一)

    • 蜂鳴(系統默認的聲音)發揮

    • 關鍵性停止( 「手」) - 玩錯誤(系統消息框窗口播放此圖片)

    System.Media.SystemSounds的方法將爲你玩。

  2. 由用戶實現任何其他的聲音可自定義的聲音控制面板

    • 這樣,用戶可以輕鬆地更改或從你的應用程序中刪除的聲音,你不需要寫任何用戶界面,這一點 - 它是已經存在
    • 每個用戶配置文件可以以自己的方式來覆蓋這些聲音
    • 操作方法:
2

要使用C#在Windows窗體播放音頻文件,讓我們檢查簡單的例子如下:

1.Go Visual Studio(VS-2008/2010/2012) - >文件菜單 - >單擊新建項目。

2.在新建項目 - >單擊Windows窗體應用程序 - >提供名稱,然後單擊確定。

將打開一個新的「Windows窗體」項目。

3.將工具箱中的按鈕控件拖放到Windows窗體中。

4.雙擊該按鈕以自動創建默認的Click事件處理程序,並添加以下代碼。

此代碼顯示文件打開對話框並將結果傳遞給您將在下一步中創建的名爲「playSound」的方法。

OpenFileDialog dialog = new OpenFileDialog(); 
dialog.Filter = "Audio Files (.wav)|*.wav"; 


if(dialog.ShowDialog() == DialogResult.OK) 
{ 
    string path = dialog.FileName; 
    playSound(path); 
} 

5.在button1_Click event hander下添加以下方法代碼。

private void playSound(string path) 
{ 
    System.Media.SoundPlayer player = new System.Media.SoundPlayer(); 
    player.SoundLocation = path; 
    player.Load(); 
    player.Play(); 
} 

6.現在讓我們通過按F5來運行應用程序來運行代碼。

7.單擊按鈕並選擇一個音頻文件。文件加載後,聲音將播放。

我希望這是初學者很有用的例子...