2011-07-16 16 views
25

Napisałem kilkaset aplikacji liniowych w Clojure, które używają biblioteki JLayer Java dla audio, w której uruchamiam pliki mp3 w tle. Działa to dobrze, ale gdy tylko uruchomię inną muzykę, YouTube itp. W tle (używam Arch Linux), dźwięki w mojej aplikacji całkowicie się zatrzymują.Muzyka w JLayer zatrzymuje się, gdy inne aplikacje odtwarzają muzykę

Zmarnowałem ostatnie dwie godziny i wypróbowałem dziesiątki rzeczy, aby to naprawić, więc każda rada jest doceniana.

+1

Moim pierwszym przypuszczeniem jest, że twoja aplikacja jest zatrzymana, jeśli jest umieszczona w tle. Moim drugim domysłem byłoby, że bufor dźwiękowy działa tylko dla jednej aplikacji. Czy twoja aplikacja robi cokolwiek innego, jeśli jest w tle? Spróbuj napisać do pliku i sprawdź, czy plik ten nadal rośnie, nawet gdy aplikacja jest w tle. Czy możesz dać nam http://sscce.org/, abyśmy mogli spróbować go odtworzyć i naprawić? –

+4

brzmi bardziej jak problem ze sterownikiem dźwięku niż problem Clojure/Java jako taki .... może lepiej zapytać na forum ekspertów Linuksa! – mikera

+0

dziękuję za odpowiedź, wciąż jest to problem, mogę uruchamiać wiele strumieni dźwięku z innych źródeł, np. Skype + youtube + mp3 w tym samym czasie działa dobrze, dodatkowo mogę sprawić, by moja aplikacja tworzyła wykresy, podczas gdy muzyka działa w tle, więc może działać, gdy dźwięk jest włączony. Tylko gdy inne urządzenie ma dźwięk, zatrzyma się natychmiast i nie wznowi aż do resetu. – ChrisR

Odpowiedz

0

Chociaż nie mam osobistego doświadczenia w zakresie kodowania dźwięku w Javie, rozumiem, że istnieją pewne niedopasowane założenia i/lub niekompletne API, jeśli chodzi o usługi dźwiękowe Linuksa, a także interfejsy dźwiękowe Java. Połącz te dwa elementy, a otrzymasz to, na co natkniesz się. Podczas gry z freetts, ja rand język podobny, ewentualnie sam problem:

FreeTTS, Java, Linux: Workaround for "LINE UNAVAILABLE: Format is ..."

1

Ponieważ stwierdzili, że jesteś na Linuksie, problem może być na sterowniku ALSA. Sprawdź, czy this article pomoże ci rozwiązać problem.

0

Miałem problemy z PulseAudio i Jack walczącymi o kontrolę karty dźwiękowej wcześniej.

Czy wziął to pod uwagę? Czy możesz sprawdzić, czy te dwie aplikacje walczą ze sobą w ten sposób?

Powiązane problemy