Воспроизведение 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 - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, си шарп, mp3, visual studio




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Парсим xml отзывов яндекс маркета
Ответы на компьютерные вопросы
Учимся парсить сайты на C#: часть 1