Главная » 2016 » Август » 16 » Урок №9 - Воспроизведение звуков в проекте
11:10
Урок №9 - Воспроизведение звуков в проекте


Иногда требуется в самых разных проектах воспроизводить какие-либо звуковые сигналы, например уведомления об изменениях в программе, но как это сделать? Разберемся в этом с самого начала
Какой файл будем воспроизводить?
Самый распространенный медиафайл распространяется в формате mp3, без лишних заморочек Visual Studio может воспроизводить .wav файлы, нам теперь каждый .mp3 файл конвертировать в .wav? А что если в проекте более полусотни файлов? Конечно нет. Для воспроизведения .mp3 файла достаточно обзавестись парой нужных библиотек и добавить их в наш проект.
!ВАЖНО!
Файлы библиотеки .dll должны быть в непосредственной близости к нашему проекту
!ВАЖНО!
Что Вам потребуется?
Мы скачиваем набор библиотек NAudio и внедряем их в проект, к сожаления, я забыл откуда качал оригинальные файлы этих библиотек, поэтому они будут доступны по этой ссылке
Как внедрить .dll в проект WinForms?
Данная задача очень простая. В нашем проекте мы смотрим в сторону "обозревателя решений", там ищем ветку "References", нажимаем ПКМ и выбираем "Добавить ссылку..."


Дальше мы нажимаем "Обзор"


Ищем на компьютере скаченную библиотеку NAudio и выбираем NAudio.dll, после чего она появится в списке и ставим галочку напротив нашей библиотеки, после чего она появится в списке в ветке "References"
Как использовать NAudio.dll ?
Допустим, мы выбираем место в коде, где будем воспроизводить наш звук, у меня это событие добавления заказа.

 

using NAudio.Wave;
using System.Threading;

public void EventsPicSound()

        {

            eventslbl.Visible = true;

            eventspic.Visible = true;

            var w = new WaveOut();

            var r = new Mp3FileReader(Application.StartupPath + @"\sound\ordersound.mp3");

            w.Init(r);

            w.Play();

            var re = new ManualResetEvent(false);

            Console.WriteLine("Play sound complete!");

        }

Разберем теперь наш код...
eventslbl и eventspic это просто показывается строчка и картинка уведомляющая о том, что появился новый заказ в системе, но нам требуется ещё и воспроизвести звук.
var w = new WaveOut - Создаем элемент нашего звука
var r = new Mp3FileReader() - Задаем путь до нашего mp3 файла, который находится рядом с проектом в папке "sound"
w.Init(r) - инициализируем нашу песню
w.Play() - воспроизводим звук
Вот собственно и все, что нам нужно.
Какая структура должна быть для нормальной работы?
Примерно такая :


Спасибо за внимание! 
Команда zombievdk.ru
Категория: Уроки по C# | Просмотров: 1067 | Добавил: bowxdlal | Теги: музыка в проекте, mp3, c sharp
Всего комментариев: 0
avatar