MP3 Player

0

Zrobiłem odtwarzacz MP3 i mam kilka pytań:

  1. Jak wyświetlić aktualny\całkowity czas utworu odgrywanego przez komponent MediaPlayer?
  2. Jak pokazać na suwaku (TrackBar) aktualną pozycję utworu?
  3. Jak po przesunięciu TrackBara w jakieś miejsce rozpocząć odtwarzanie od tego miejsca (wiecie chyba o co chodzi? :))
  4. Jak regulować dźwięk przy pomocy TrackBara?
  5. Jak po zakończeniu odtwarzania jednego pliku zrobić, aby automatycznie odtwarzany był następny z FileListBox.

Pozdrowienia. BigLama. {hello}

0

Nie chce mi sie teraz pisac, ale uzyj F1 na MediaPlayerze i wiekszosc szybko znajdziesz. Oprocz 4.
Np do 5 uzyj onnotify. A do innych: jest kakas wlasciwosc Playera, nie pamietam nazwy, pewnie Position lub tp ktora pokazuje pozycje w utworze. F1 rules!

--Pawel
&ltbr&gt
&ltbr&gtDelphi6

0

pq napisał:
Nie chce mi sie teraz pisac, ale uzyj F1 na MediaPlayerze i wiekszosc szybko znajdziesz. Oprocz 4.
&gtNp do 5 uzyj onnotify. A do innych: jest kakas wlasciwosc Playera, nie pamietam nazwy, pewnie Position lub tp ktora pokazuje pozycje w utworze. F1 rules!
&gt
&gt
&gt
&gt--
&gtPawel
&ltbr&gt
&ltbr&gtDelphi6

Trochę tego jest:) Czy ktoś może bardziej dokładnie? :-)

0

co do regulowania poziomu hałasu to znajdzesz w faq

ustaw sobie: filelistbox mediaplayer i timera

public
a : integer;
opek : boolean;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject); to funkcja w timer
begin
jakby cos to to jest na dowórt - zaimast length ma byc frames a zamiast frames ma byc length
trackbar1.Max := mediaplayer1.frames;
trackbar1.position := mediaplayer1.length;
end;

procedure TForm1.Button2Click(Sender: TObject);to tez do timera ale moze daj do innego timer'a - zmiana z playlisty
begin
poprzedz numer utworu np. jest to 5 (a) utwór w tym listboxie więć
if trackbar1.position = trackbar1.max then
begin
a := a + 1;*wybieram jezeli chcesz losowo to: daj randomize; a := random(filelistbox.items.count); - bez - 1!!!
mediaplayer1.FileName := filelistbox1.direcotry+'\'+filelistbox1.Items[a];
mediaplayer1.open;
trackbar1.Max := mediaplayer1.Length;
trackbar1.position := 0;
mediaplayer1.play;
end;
end;

procedure TForm1.TrackBar1Enter(Sender: TObject); *to juz w tracbarze musisz znalezc wątki
begin
opek := true;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
a := 0;
opek := false;
end;

procedure TForm1.TrackBar1Exit(Sender: TObject);
begin
mediaplayer1.Play;
opek := false;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
if opek = true then
begin
mediaplayer1.Pause;
{tu length albo frames}
mediaplayer1.Length := trackbar1.position;
end;
end;

end.

Nie wiem czy zadziała bo pisałem bez zdanych sprawdzeń ale mysle, ze powinno :) jak nie to napisz :]--

0

Liczby w nawiasach odnosza sie do numerow Twoich pytan.

Wlasciwosc Length (read only) zawiera dlugosc otwartego medium [1,2], wlasciwiosc StartPos miejsce rozpoczecia odtwarzania, EndPos - zakoczenia. Position aktualna pozycje w odtwarzanym utworze [1,2,3]. Powyzsze wlasciwosci sa zapisane w 4 bajtach, ktorych interpretacja zalezy od rodzaju danych i jest dostepna przez wlasciwosc TimeFormat. Tu juz naprawde uzyj F1, bo nie bede przepisywal helpu.

Jak sprzac powyzsze wlasciwosci z TrackBarem chyba nie musze pisac.

Do pytania 5 obsluz zdarzenie OnNotify Playera, ktore jest wywolywane m.in. jak odtwarzanie dojdzie do konca. zwroc uwage na wlasciwosc Notify, ktora okresla, czy po zakonczeniu nastepnej operacji bedzie wywolane OnNotify, oraz na wlasciwosc NotifyValue, ktora podaje dlaczego operacja sie zakonczyla.--Pawel
&ltbr&gt
&ltbr&gtDelphi6

0

BigLama napisał:
Zrobiłem odtwarzacz MP3 i mam kilka pytań:

To zrobiłeś ten odtwarzacz czy nie? Bo bez tych opcji to nie jest odtwarzacz :P
A w czym piszesz?--You may say I am dreamer...

0

No dobra:
Ad 5.

W TIMER'ZE:

if (mplayer-&gtMode == mpStopped)
{
mplayer-&gtFileName = ListBox-&gtItemIndex+1;
if (FileExists(mplayer-&gtFileName))
{
*....coś tu napisz
}
else
{

  • message z errorem
    }
    }
    --You may say I am dreamer...

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0