Привет, Гость! Регистрация RSS
Среда, 15.05.2024
Главная » Статьи » Уроки

Создание MP3-проигрывателя, используя MediaPlayer.
И так, вам наверное хотелось бы научиться создавать аудио-, видеопроигрыватели. Вот сейчас мы и посмотрим как можно это реализовать. 
Единственное, что я от вас хочу, так это ваше желание и немного терпения. После того, как прочитаете эту статью, вы поймете, что написать 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; 
Снова компилируем и любуемся результатом.
Нравится
Категория: Уроки | Добавил: Dark_Green (07.12.2012)
Просмотров: 9887 | Комментарии: 1 | Теги: MP3-проигрыватель, Продолжительность, mp3-плеер, проигрыватель, MediaPlayer, длина трека | Рейтинг: 5.0/2

Другие статьи
»
Математические функции в Delphi. Модуль Math (1)
»
Работа с компонентом TMemo и диалогами открытия (TOpenDialog) и сохранения файлов (TSaveDialog) (0)
»
Создание и использование MDI (0)
»
Компонент Shape (0)
Всего комментариев: 1
1 kragen  
0
спосибо! статья очень помогла

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]