Главный Каталог Статей РФ
87238 авторов, размещено 47366 статей, сейчас на сайте пользователей: 182 Статистика
Аватар valiwanderer

Создание MP3-проигрывателя, используя MediaPlayer

Категория:  Компьютеры и Интернет  | Автор:  valiwanderer | Опубликовано: 12.12.2012
И так, вам наверное хотелось бы научиться создавать аудио-, видеопроигрыватели. Вот сейчас мы и посмотрим как можно это реализовать. 

Единственное, что я от вас хочу, так это ваше желание и немного терпения. После того, как прочитаете эту статью, вы поймете, что написать mp3-плеер не так уж и трудно.

В Delphi есть компонент MediaPlayer (расположен на странице System). Это универсальный проигрыватель для работы с аудио- и видео-информацией. 

Этот компонент можно использовать в двух режимах. Во-первых, можно предоставить пользователю возможность управлять воспроизведением информации с помощью кнопочного интерфейса, напоминающего панель управления различными проигрывателями. Во-вторых, можно сделать сам компонент невидимым и управлять воспроизведением информации с помощью его методов. (Более подробно...)

Теперь приступим. Думаю, вы уже догадались, создаем новый проект. Потом добавляем на форму: наш главный компонент MediaPlayer, button, label, OpenDialog.

 Кнопка ОТКРЫТЬ

На кнопку прописываем следующее событие:

procedure TForm1.Button1Click(Sender: TObject);

begin

if OpenDialog1.Execute then

with MediaPlayer1 do

begin

  FileName := OpenDialog1.FileName;

  Open;

  Notify:=true;

 label1.Caption:=ExtractFileName(FileName);

 end;

end;

Компилируем и проверяем работу нашего приложения. Нажимая на кнопку, выбираем файл в формате *.mp3.

Теперь добавляем на форму timer, label2 и label3.

 Дважды кликаем на таймер и прописываем код: 

procedure TForm1.Timer1Timer(Sender: TObject);

var chas, min, sec, chas1, min1, sec1: Integer;

function mode(Length: Integer): String;

  begin

    Result:=IntToStr(Length);

if Length<10 then Result:='0'+Result;

 end;

begin

MediaPlayer1.TimeFormat:=tfMilliSeconds;

{Длина трека}

 sec:=mediaplayer1.Length div 1000;

 min:=sec div 60;

 chas:=min div 60;

 min:=min - chas*60;

 sec:=sec - min*60 - chas*3600;

 label2.Caption:=IntToStr(chas)+':'+mode(min)+':'+mode(sec);

{сколько прошло}

 sec1:=mediaplayer1.Position div 1000;

 min1:=sec1 div 60;

 chas1:=min div 60;

 min1:=min1 - chas*60;

 sec1:=sec1 - min1*60 - chas1*3600;

 label3.Caption:=IntToStr(chas1)+':'+mode(min1)+':'+mode(sec1); 

end;

Теперь в нашем таймере свойство Enabled ставим на False и в кнопке button1 между двумя end'ами добавляем

Timer1.Enabled:=true; 

После чего снова откомпилируем и проверяем.

Ну и наверняка вам еще хочется, чтобы в нашем проигрывателе присутствовал прогресс вопроизведения. В таком случае на форму мы еще добавляем еще один таймер и компонент Gauge, который находится на странице Samples библиотеки компонентов. Растягиваем его на форме по своему усмотрению. Также мы можем убрать надпись процента, указав свойство ShowText на False.

Теперь нам нужно привязать Gauge к треку. Для этого на timer2 прописываем следующий код.

procedure TForm1.Timer2Timer(Sender: TObject); 

begin

with MediaPlayer1 do

begin

    if FileName <>'' then

      Gauge1.Progress:=Round(100*Position/Length);

 if Gauge1.Progress=100 then begin

      Position:=0; play; end;

end;

end;

После этого свойство Enabled таймера ставим на False и добавляем в button1 код

Timer2.Enabled:=true; 

Снова компилируем и любуемся результатом.


Автор: VT, Источник: Программирование на Delphi 

Комментарии
К этой статье пока нет комментариев. Станьте первым! У нас гости не могут комментировать статьи. Пожалуйста авторизуйтесь или зарегистрируйтесь, чтобы прокомментировать.
Интересные статьи по теме
Аватар shuraarh
"Чистая комната" или ламинарный бокс? Что больше подойдет для органиации ремонта жестких дисков? Когда жесткий диск получает физическое повреждение, процесс восстановления данных и ремонт диска требует высокую степень внимательности и опыта. Процесс восстановления включает в себя удаление диска и...
Категория: Компьютеры и Интернет | Автор: shuraarh | Добавлено: 20.08.2013
Аватар Евченко Тарас
Плюсы и минусы виртуального общения Статья посвящена проблеме виртуального общения, ставшей столь актуальной в последние годы....
Категория: Компьютеры и Интернет | Автор: Евченко Тарас | Добавлено: 14.12.2009
Аватар itsfedorov
Обзор рабочих пространств в AutoCAD В статье рассматриваются все рабочие пространства в AutoCAD....
Категория: Компьютеры и Интернет | Автор: itsfedorov | Добавлено: 06.10.2010
Аватар illureal
Как выбрать б.у. ноутбук Если рассматривать рынок б.у. ноутбуков, то экономия выходит вполне значительная. Ноутбук – изначально не дешевая вещь. Бывший в употреблении ноутбук стоит не более 60% от стоимости аналогичного новог...
Категория: Компьютеры и Интернет | Автор: illureal | Добавлено: 20.04.2010
Аватар 448
Редактирование WordPress шаблонов. В этой статье не будет написано как из бесплатной убогой темы сделать супер крутую, да и написать такую статью не возможно. Здесь я опишу как можно легко сделать небольшой «косметический» ремонт шабло...
Категория: Компьютеры и Интернет | Автор: 448 | Добавлено: 08.07.2009
Свежие комментарии
Ну, вот это я понимаю, настоящая инструкция для тех, кто хочет не просто «привет, как дела», а чтобы дамы сами в личку ломились! Как говорится, техник...

Читать >>

Куклы-обереги действительно имеют глубокий символизм и интересную историю, которая часто теряется в современных интерпретациях. Например, многие не зн...

Читать >>

Полностью поддерживаю подход, описанный в статье! Рисование — не просто творческое занятие, а ключевой инструмент для развития ребёнка. Как детский пс...

Читать >>

Интересная подборка ошибок, но не могу не высказать скепсис по поводу части рекомендаций. Например, о зарядке только до 80% — это логично с техническо...

Читать >>

Работал соцработником пару лет, и вот что не написали: это не только помощь людям, но и куча бумажек, отчётов и согласований. Бывает, половина времени...

Читать >>

Лучшие авторы
Аватар vip.grafika
Сами знаете.

Читать

Аватар ded004
дед мороз рунета

Читать

Аватар OlgaB
Здравствуйте, меня зовут Ольга. Два высших гуманит...

Читать

Аватар segaline
Каталог "Мото-Арсенал" - всё необходимое для экспл...

Читать

Напишите нам