Mini-odtwarzacz - jak zatrzymać muzykę?

Mini-odtwarzacz - jak zatrzymać muzykę?
0

Piszę mini-odtwarzacz mp3, korzystam z JLayer'a.
Napisałem już kilka ciekawych funkcji, ale problem jest przy zatrzymywaniu muzyki. Może problem wydaj się być trywialny, ale chyba wcale taki nie jest:

Otóż po uruchomieniu muzyki (tworzę AdvacePlayer i korzystam z funkcji play()) muzyka gra aż do momentu zakonczenia utworu. Próba wybierania następnego utwóru sprawia tylko, że piosenki się nakładają.

Proszę o pomoc, pozdrawiam :)

0

System.exit(0);

0

Dzięki, ale to nie rozwiazuje problemu - gdyz zamyka program calkowice.
Chodzi o coś co przerwie odtwarzanie muzyki, a nie całego programu. Dodam że operuję na wątkach.

Wie ktoś jak coś takiego zrobić? :)

NI
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 12 lat
  • Postów:38
0

tak tylko głupio <ort>szczele</ort>, sam robie w audiere na razie, ale skoro masz play, to może i funkcja stop ?

edytowany 1x, ostatnio: bogdans
0

Jest funkcja stop i close, ale obie nie działają, a być może ja coś źle robię?

Kopiuj
Path dir = Paths.get("wolf.mp3");
String song = dir.toString();
FileInputStream fis = new FileInputStream(song);
AdvancedPlayer playMp3 = new AdvancedPlayer(fis);
playMp3.play(1600,2000);
			
playMp3.close(); //<---- kompiluije się normalnie, 
// ale to wcale nie przerywa, muzyka odtwarza sie do konca
playMp3.stop();

Co jest źle?

JM
może najpierw wywołaj stop(), a później close()
0

Dzieki za wskazowki, niemniej jednak zamiana kolejności stop i close nic nie dalo, piosenka gra ciagle nieprzerwanie. Jedyne co je przerywa to "chamskie" zamknięcie programu, nic innego nie pomaga.

Macie jakie sugestie do rozwiazania?

Olamagato
  • Rejestracja:ponad 16 lat
  • Ostatnio:około 2 miesiące
  • Lokalizacja:Polska, Warszawa
  • Postów:1058
0

Spróbuj wywołanie metody play umieścić w osobnym wątku, którego w odpowiednim momencie możesz spróbować skillować za pomocą bardzo dziś niezalecanej metody Thread.stop. Nie wiem czy to cos da skoro wygląda na to, że play jest asynchroniczna, ale możesz w takim wątku spróbować umieścić również tworzenie całego obiektu AdvancedPlayer. Gdyby takie twarde przerywanie się to udało (choć to mało prawdopodobne), to pamiętaj, że takie "patchowanie" jest bardzo niezalecane i będzie co najmniej kontrowersyjne. Prościej jest napisać do autora biblioteki zgłaszając problem lub poszukać jej nowszej wersji (o ile istnieje).


Jeżeli ktoś komuś coś, ewentualnie nikt nikomu nic, to właściwie po co...?

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.