odtwarzacz mp3 i trackbar

0

no to tak mam napisać odtwarzacz mp3 mam już większość ale nie mogę podpiąć trackbara postępu piosenki. i jak zczytać długość piosenki??
próbowałem i nic.
załączam cały kod programu

0

Pomógłbym, ale nie stać mnie na rara. :(

1

Nie ściągałem źródła ale jeśli do odtwarzania używasz biblioteki WMPlib to czas trwania piosenki można łatwo odczytać czymś w rodzaju:

var czas = player.currentMedia.duration;

Wtedy po prostu ustawiasz sobie:

slider.Maximum = czas;

I w obsłudze zdarzenia tick timera (z interwałem 1 sekunda):

slider.Value = player.controls.currentPosition;
0

a dokładniej ktoś mi to wytłumaczy bo nigdy nie używałem trackbara i timera znam teoretycznie jak to sie robi ale gorzej z praktyką

1

Tak generalnie to chodzi o to, że

currentmedia.duration 

daje ci czas utworu w sekundach. Dodajesz sobie timera (tu szczerze mówiąc miałem trochę inaczej, bo nigdy nie używałem timera z winforms. Ja odtwarzacz robiłem w WPF i musiałem użyć DispatcherTimer ale zasada powinna być dokładnie ta sama), ustawiasz mu interwał na jedną sekundę. Kodem, który pisałem wcześniej ustawiasz sobie maksymalną wartość slidera na długość piosenki. Teraz, kiedy utwór zostanie odpalony, włączasz timer i w zdarzeniu timer_tick dodajesz slider.value = slider.value + 1

. Dzięki temu slider przesuwa się co sekundę, aż do końca skali, kiedy kończy się też utwór.
Jeśli chcesz zaimplementować przewijanie to musisz dać na odwrót: 
```csharp
slider.value = player.controls.currentposition

Dawno to cholera robiłem i dokładnie już nie pamiętam :)

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