Saya memiliki aplikasi Windows yang ditulis dalam C # /. NET.
Bagaimana saya bisa memainkan suara tertentu saat tombol diklik?
Saya memiliki aplikasi Windows yang ditulis dalam C # /. NET.
Bagaimana saya bisa memainkan suara tertentu saat tombol diklik?
Jawaban:
Anda bisa menggunakan:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:\mywavfile.wav");
player.Play();
Anda dapat menggunakan SystemSound , misalnya System.Media.SystemSounds.Asterisk.Play();
,.
Untuk Formulir Windows, salah satu caranya adalah dengan menggunakan 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()
}
}
Ini juga akan berfungsi dengan WPF, tetapi Anda memiliki opsi lain seperti menggunakan MediaPlayer
halaman MSDN
ButtonClick
, hanya karena sepertinya itu lebih mengikuti gaya penamaan C #.
Ini adalah jawaban tingkat tinggi untuk aplikasi yang ingin menyesuaikan dengan lingkungan Windows. Rincian teknis memainkan suara tertentu disediakan dalam jawaban lain. Selain itu, selalu perhatikan dua hal ini:
Gunakan lima suara sistem standar dalam skenario umum , yaitu
Asterisk - putar saat Anda ingin menyorot acara saat ini
Pertanyaan - bermain dengan pertanyaan (jendela kotak pesan sistem memainkan yang ini)
Seru - mainkan dengan ikon tanda seru (jendela kotak pesan sistem memainkan yang ini)
Bip (suara sistem default)
Berhenti kritis ("Hand") - bermain dengan kesalahan (jendela kotak pesan sistem memutar yang ini)
Metode kelas System.Media.SystemSounds
akan memainkannya untuk Anda.
Terapkan suara lain yang dapat disesuaikan oleh pengguna Anda di panel kontrol Suara
System.Media.SystemSounds.Hand.Play(); Thread.Sleep(2000);
memainkan suara Tangan . Perhatikan bahwa itu diputar secara tidak sinkron, di sini saya menambahkan perintah tidur untuk menunggu selesainya suara. Jika Anda tidak menunggu, dan memutar suara lain, suara sebelumnya segera berhenti.
Kode di bawah memungkinkan untuk memutar file mp3 dan file gelombang dalam memori juga
player.FileName = "123.mp3";
player.Play();
dari http://alvas.net/alvas.audio,samples.aspx#sample6 atau
Player pl = new Player();
byte[] arr = File.ReadAllBytes(@"in.wav");
pl.Play(arr);
Untuk memainkan file Audio dalam bentuk Windows menggunakan C # mari kita periksa contoh sederhana sebagai berikut:
1. Buka Visual Studio (VS-2008/2010/2012) -> Menu File -> klik Proyek Baru.
2. Di New Project -> klik Windows Forms Application -> Beri Nama lalu klik OK.
Proyek "Windows Forms" baru akan terbuka.
3. Drag-and-Drop a Button control dari Toolbox ke Windows Form.
4. Klik dua kali tombol untuk membuat pengendali kejadian Klik default secara otomatis, dan tambahkan kode berikut.
Kode ini menampilkan kotak dialog Buka File dan meneruskan hasilnya ke metode bernama "playSound" yang akan Anda buat di langkah berikutnya.
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "Audio Files (.wav)|*.wav";
if(dialog.ShowDialog() == DialogResult.OK)
{
string path = dialog.FileName;
playSound(path);
}
5. Tambahkan kode metode berikut di bawah event hander button1_Click.
private void playSound(string path)
{
System.Media.SoundPlayer player = new System.Media.SoundPlayer();
player.SoundLocation = path;
player.Load();
player.Play();
}
6. Sekarang mari kita jalankan aplikasi hanya dengan menekan F5 untuk menjalankan kode.
7. Klik tombol dan pilih file audio. Setelah file dimuat, suara akan diputar.
Semoga ini menjadi contoh yang berguna untuk pemula ...
Saya rasa Anda harus terlebih dahulu menambahkan file .wav ke Resources. Misalnya Anda memiliki file suara bernama Sound.wav. Setelah Anda menambahkan file Sound.wav ke Resources, Anda dapat menggunakan kode ini:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources.Sound);
player.Play();
Ini adalah cara lain untuk memutar suara.