Skocz do zawartości

[bcb] Odtwarzacz mp3


dawiddawido

Polecane posty

Witam

Piszę prosty odtwarzacz mp3, z użyciem biblioteki bass.dll.

Wyświetlam czas, i używam trackbara, do pokazywania ile piosenki już mineło (tak jak np. windows media player).

Problem pojawia się gdy chcę użyć tego trackbara do ustawinia od którego ma być momentu odtwarzana piosenka. Gdy przesuwam suwak, to piosenka się ma w to miejsce przesunąć.

Używam timera do przesuwania pozycji trackbara.

I teraz pytanie jak mogę za pomocą trackbara przesuwać piosenke? Jakie zdarzenie zastosować do tego trackbara?? Próbowałem na onchange ale wtedy piosenka się zacina na początku i nie rusza dalej

Prosze o pomoc

Pozdrawiam

Link do komentarza
Udostępnij na innych stronach

Widze że się nierozumiemy więc wrzucę źródło żeby było łatwiej Wink

 

KOD

 

void __fastcall TForm1::Otwrz1Click(TObject *Sender)

{

 

OpenDialog1->Execute();

if (OpenDialog1->FileName == "")

return;

BASS_Init(1, 44100,0, Handle,NULL);

Muza1 = BASS_StreamCreateFile(false,OpenDialog1->FileName.c_str(),0,0,0);

BASS_ChannelSetFlags(Muza1,BASS_STREAM_AUTOFREE);

BASS_ChannelPlay(Muza1,false);

 

QWORD len=BASS_ChannelGetLength(Muza1); // length in bytes

float time=BASS_ChannelBytes2Seconds(Muza1,len); // the time length

 

time = floor(time);

 

int tmp = time;

Timer1->Enabled = true;

TrackBar2->Position = 0;

TrackBar2->Max = tmp;

Dlugosc = tmp;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

 

TrackBar2->Position++; ////// TU AKTUALIZUJE POZYCJę TRACKBARA

if (Dlugosc == TrackBar2->Position)

Timer1->Enabled = false;

}

 

//---------------------------------------------------------------------------

 

void __fastcall TForm1::TrackBar2Change(TObject *Sender)

{

BASS_ChannelSetPosition(Muza1,TrackBar2->Position); // TUTAJ ZMIENIAM POZYCJE PIOSENKI

}

//-----------------------------------------------------------------------

 

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...