簡體   English   中英

如何在C#,.NET中播放聲音

[英]How to play a sound in C#, .NET

我有一個用C#/ .NET編寫的Windows應用程序。

單擊按鈕時如何播放特定聲音?

你可以使用:

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

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

對於Windows Forms,一種方法是使用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頁面

這也適用於WPF,但您可以使用其他選項,例如使用MediaPlayer MSDN頁面

附加信息。

對於希望無縫適應Windows環境的應用程序,這是一個高級答案。 其他答案中提供了播放特定聲音的技術細節。 除此之外,請注意以下兩點:

  1. 在典型情況下使用五種標准系統聲音 ,即

    • 星號 - 當您想要突出顯示當前事件時播放

    • 問題 - 玩問題(系統消息框窗口播放此問題)

    • 感嘆號 - 使用excalamation圖標播放(系統消息框窗口播放此內容)

    • 蜂鳴聲 (默認系統聲音)

    • 關鍵停止 (“手”) - 播放錯誤(系統消息框窗口播放此錯誤)

    System.Media.SystemSounds類的方法將為您播放它們。

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

    • 這樣,用戶可以輕松地更改或刪除應用程序中的聲音,您無需為此編寫任何用戶界面 - 它已經存在
    • 每個用戶配置文件都可以自己的方式覆蓋這些聲音
    • 如何:
      • 在Windows注冊表中創建應用程序的聲音配置文件 (提示:無需編程,只需將密鑰添加到應用程序的安裝程序中。)
      • 在您的應用程序中,從注冊表項中讀取聲音文件路徑或DLL資源並播放它。 (如何播放其他答案中可以看到的聲音。)

Code bellow允許播放mp3文件和內存中的wave文件

player.FileName = "123.mp3";
player.Play();

來自http://alvas.net/alvas.audio,samples.aspx#sample6

Player pl = new Player();
byte[] arr = File.ReadAllBytes(@"in.wav");
pl.Play(arr);

來自http://alvas.net/alvas.audio,samples.aspx#sample7

要使用C#播放Windows窗體中的音頻文件,請查看以下簡單示例:

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

2.在“新建項目”中 - >單擊“Windows窗體應用程序” - >“給出名稱”,然后單擊“確定”。

將打開一個新的“Windows窗體”項目。

3.將Button控件從工具箱拖放到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事件處理器下添加以下方法代碼。

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

6.現在只需按F5運行代碼即可運行應用程序。

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

我希望這對初學者來說是有用的例子......

我認為你必須首先將一個.wav文件添加到Resources。 例如,您有一個名為Sound.wav的聲音文件。 將Sound.wav文件添加到Resources后,您可以使用以下代碼:

System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources.Sound);
player.Play();

這是播放聲音的另一種方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM