Воспроизведение mp3 на C#: пример и плеер
Для большинства проектов, которые я делаю, уже есть готовые решения в сети. Точнее, не совсем готовые, а как бы кубиками, пазлами, частями конструктора – мне надо просто их собрать все вместе. Это, например, относится и к проекту по созданию встроенного в программу на C# mp3 плеера – все элементы готовы, надо только грамотно скомпоновать и запустить.
Итак, для одного проекта потребовалось воспроизведение аудиозаписей. Ну что ж, так как никаких дополнительных требований заказчик не выдвигал, то идем по самому простому пути: подключаем Interop.WMPLib (wmp.dll) – стандартный плеер, который есть в любой версии Windows. Работать с ним до смешного просто. Инициализируем:
static int PlayPause = 0; WMPLib.WindowsMediaPlayer pl = new WMPLib.WindowsMediaPlayer();Далее, в кнопки обработчика вставляем что-то типа этого:
if (PlayPause == 0) { PlayPause = 1; timer1.Start(); } else if (PlayPause == 1) { pl.controls.pause(); PlayPause = 2; timer1.Stop(); } else if (PlayPause == 2) { pl.controls.play(); PlayPause = 1; timer1.Start(); }Здесь переменная PlayPause хранит состояние проигрывателя. 0 – стоп, 1 – играет, 2 – пауза. Теперь код таймера:
private void timer1_Tick(object sender, EventArgs e) { double dlina = pl.currentMedia.duration; trackBar1.Maximum = (int)dlina; double tekPosition = pl.controls.currentPosition; trackBar1.Value = (int)tekPosition; }Не забывает также при загрузке формы установить интервал для таймера:
private void Form1_Load(object sender, EventArgs e) { timer1.Interval = 1000; //Таймер для плеера }Что мы сделали? Теперь, по нажатию кнопок у нас будет запускаться/останавливаться музыка, а также на ползунке изменяться положение. Но что если нам самим захочется управлять позицией проигрывания? Это просто:
private void trackBar1_Scroll(object sender, EventArgs e) { pl.controls.currentPosition = trackBar1.Value; }Теперь у нас имеется практически полноценный аудиоплеер в разрабатываемой программе:
Если вам требуется создать программу на заказ, то вы можете обратиться ко мне. Я пишу на C#, C++, Java. Занимаюсь как учебными программами, так и разрабатываю полноценные приложения, которые используются в реальной работе. Пишите на почту up777up@yandex.ru или сразу в скайп up777up2, вконтакте. Я с удовольствием вам помогу за разумные деньги – мои расценки выгодно отличаются от других программистов, а опыта и различных наработок немало.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.