C # /. NET ile yazılmış bir Windows uygulamam var.
Bir düğmeye tıklandığında belirli bir sesi nasıl çalabilirim?
C # /. NET ile yazılmış bir Windows uygulamam var.
Bir düğmeye tıklandığında belirli bir sesi nasıl çalabilirim?
Yanıtlar:
Kullanabilirsin:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:\mywavfile.wav");
player.Play();
Örneğin SystemSound'u kullanabilirsiniz System.Media.SystemSounds.Asterisk.Play();
.
Windows Forms için bir yol, 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()
}
}
Bu aynı zamanda WPF ile de çalışacaktır, ancak MSDN sayfasını kullanmak gibi başka seçenekleriniz de varMediaPlayer
ButtonClick
, çünkü C # adlandırma stilini daha çok takip ediyor gibi görünüyor.
Bu, Windows ortamına sorunsuz bir şekilde uyum sağlamak isteyen uygulamalar için biraz üst düzey bir cevaptır. Belirli bir sesin çalınmasına ilişkin teknik ayrıntılar diğer yanıtlarda verilmiştir. Bunun yanı sıra, her zaman şu iki noktaya dikkat edin:
Tipik senaryolarda beş standart sistem sesi kullanın , örn.
Yıldız - geçerli olayı vurgulamak istediğinizde oynatın
Soru - sorularla oynayın (sistem mesaj kutusu penceresi bunu oynatır)
Ünlem - ünlem işareti simgesiyle oynatın (sistem mesaj kutusu penceresi bunu oynatır)
Bip (varsayılan sistem sesi)
Kritik durdurma ("El") - hatalı oynatma (sistem mesaj kutusu penceresi bunu oynatır)
Sınıfın yöntemleri System.Media.SystemSounds
sizin için onları oynayacak.
Kullanıcılarınız tarafından özelleştirilebilen diğer sesleri Ses kontrol panelinden uygulayın
System.Media.SystemSounds.Hand.Play(); Thread.Sleep(2000);
sesini çalar . Eşzamansız olarak çaldığını unutmayın, burada sesin tamamlanmasını beklemek için bir uyku komutu ekledim. Beklemezseniz ve başka bir ses çalarsanız, önceki ses hemen durur.
Aşağıdaki kod, mp3 dosyalarını ve bellek içi dalga dosyalarını da oynatmanıza izin verir
player.FileName = "123.mp3";
player.Play();
dan http://alvas.net/alvas.audio,samples.aspx#sample6 veya
Player pl = new Player();
byte[] arr = File.ReadAllBytes(@"in.wav");
pl.Play(arr);
C # kullanarak Windows biçiminde bir Ses dosyasını çalmak için aşağıdaki basit örneği kontrol edelim:
1. Visual Studio'ya gidin (VS-2008/2010/2012) -> Dosya Menüsü -> Yeni Proje'ye tıklayın.
2. Yeni Projede -> Windows Forms Uygulaması -> İsim Ver seçeneklerini ve ardından Tamam'ı tıklayın.
Yeni bir "Windows Forms" projesi açılacaktır.
3. Araç Kutusundan Windows Formuna bir Düğme denetimi Sürükle ve Bırak.
4. Varsayılan Click olay işleyicisini otomatik olarak oluşturmak için düğmeye çift tıklayın ve aşağıdaki kodu ekleyin.
Bu kod Dosya Aç iletişim kutusunu görüntüler ve sonuçları bir sonraki adımda oluşturacağınız "playSound" adlı bir yönteme iletir.
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "Audio Files (.wav)|*.wav";
if(dialog.ShowDialog() == DialogResult.OK)
{
string path = dialog.FileName;
playSound(path);
}
5. button1_Click olay işleyicisinin altına aşağıdaki yöntem kodunu ekleyin.
private void playSound(string path)
{
System.Media.SoundPlayer player = new System.Media.SoundPlayer();
player.SoundLocation = path;
player.Load();
player.Play();
}
6. Şimdi kodu çalıştırmak için F5'e basarak uygulamayı çalıştıralım.
7. Düğmeye tıklayın ve bir ses dosyası seçin. Dosya yüklendikten sonra ses çalacaktır.
Umarım bu yeni başlayanlar için faydalı bir örnektir ...
Öncelikle Kaynaklar'a bir .wav dosyası eklemeniz gerektiğini düşünüyorum. Örneğin, Sound.wav adlı ses dosyanız var. Sound.wav dosyasını Kaynaklar'a ekledikten sonra şu kodu kullanabilirsiniz:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources.Sound);
player.Play();
Bu, ses çalmanın başka bir yoludur.