odtwarzacz mp3 i trackbar

odtwarzacz mp3 i trackbar
MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 12
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

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

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

kociol21
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 46
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:

Kopiuj
var czas = player.currentMedia.duration;

Wtedy po prostu ustawiasz sobie:

Kopiuj
slider.Maximum = czas;

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

Kopiuj
slider.Value = player.controls.currentPosition;
MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 12
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ą

kociol21
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 46
1

Tak generalnie to chodzi o to, że

Kopiuj
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

Kopiuj
. 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 :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.