У мене програма Windows написана на C # /. NET.
Як я можу відтворити певний звук, коли натиснути кнопку?
У мене програма Windows написана на C # /. NET.
Як я можу відтворити певний звук, коли натиснути кнопку?
Відповіді:
Ви можете використовувати:
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()
}
}
Це також буде працювати з WPF, але у вас є інші варіанти, наприклад, використання MediaPlayer
сторінки MSDN
ButtonClick
просто тому, що, здається, вона більше відповідає стилю C # іменування.
Це трохи відповідь високого рівня для програм, які хочуть безперешкодно вписатись у середовище Windows. Технічні деталі відтворення певного звуку були надані в інших відповідях. Крім цього, завжди зазначайте ці два моменти:
Використовуйте п'ять стандартних системних звуків у типових сценаріях , тобто
Зірочка - грати, коли ви хочете виділити поточну подію
Питання - грати з питаннями (вікно системного повідомлення відтворює це)
Вигук - грати з значком оклику (вікно системного повідомлення відтворює це)
Звуковий сигнал ( звуковий сигнал за замовчуванням)
Критична зупинка ("Рука") - грати з помилкою (вікно системного повідомлення відтворює цю)
Методи заняття System.Media.SystemSounds
гратимуть їх за вас.
Реалізуйте будь-які інші звуки, що настроюються вашими користувачами, на панелі керування звуком
System.Media.SystemSounds.Hand.Play(); Thread.Sleep(2000);
відтворює звук Hand . Зауважте, що вона грає асинхронно, тут я додав команду сну, щоб чекати завершення звуку. Якщо ви не чекаєте і відтворюєте інший звук, попередній одразу зупиняється.
Нижче наведений код дозволяє відтворювати mp3-файли та хвильові файли в пам'яті
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);
Для відтворення аудіофайлу у формі Windows за допомогою C # перевіримо простий приклад наступним чином:
1.Go Visual Studio (VS-2008/2010/2012) -> Меню файлів -> натисніть кнопку New Project.
2.У новому проекті -> натисніть програму Windows Forms -> Дайте ім'я та натисніть кнопку ОК.
Відкриється новий проект "Форми 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.
private void playSound(string path)
{
System.Media.SoundPlayer player = new System.Media.SoundPlayer();
player.SoundLocation = path;
player.Load();
player.Play();
}
6.Запустімо додаток просто натисканням клавіші F5 для запуску коду.
7.Натисніть кнопку та виберіть аудіофайл. Після завантаження файлу звук відтвориться.
Сподіваюся, це корисний приклад для початківців ...
Я думаю, спочатку потрібно додати .wav файл до ресурсів. Наприклад, у вас є звуковий файл під назвою Sound.wav. Після додавання файлу Sound.wav до ресурсів ви можете використовувати цей код:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources.Sound);
player.Play();
Це ще один спосіб відтворення звуку.