2013-11-22 4 views
1

Я пытаюсь воспроизвести mp3-файлы с помощью JLayer Class Player. После запуска темы, содержащей myPlayer.play() вы можете услышать несколько сот миллисекунд в начале песни, а затем игрок прерывания и я получаю следующее сообщение об ошибке:Проблемы с использованием игрока javazoom

> javazoom.jl.decoder.BitstreamException: Bitstream errorcode 102 at 
> javazoom.jl.decoder.Bitstream.newBitstreamException(Unknown Source) 
> at javazoom.jl.decoder.Bitstream.readFrame(Unknown Source) at 
> javazoom.jl.player.Player.decodeFrame(Unknown Source)  at 
> javazoom.jl.player.Player.play(Unknown Source) at 
> javazoom.jl.player.Player.play(Unknown Source) at 
> controller.PlayController.run(PlayController.java:51)  at 
> java.lang.Thread.run(Thread.java:724) 

Я искал в интернет для решения и I что эта ошибка может возникнуть из-за проблем с некоторыми .mp3-файлами, но .wav- или .wma-файлы не были приняты. Кто-нибудь знает, как я могу заставить игрока работать? Заранее спасибо

+0

JLayer работает практически с любым mp3-файлом - исключения будут «бесплатным битрейтом» (никогда не видели такой файл). Код ошибки 102 указывает на ошибку чтения из потока. Вероятно, вы запустили плеер (который запускается в своем потоке), а затем закрыли входной поток из основного потока. Простая ошибка кодирования. – Durandal

+0

хорошо, спасибо. – user3021755

+0

У меня есть «BufferedInputStream bis» в моем коде, и когда я комментирую 'bis.close()' плеер работает так, как должен. Можете ли вы объяснить, почему закрытие входного потока создает ошибку? Кроме того, невозможно закрыть плеер JFrame, хотя я поставил 'myPlayer.play()' назначение в отдельном потоке. как я могу заставить приложение быть закрытым? – user3021755

ответ

0

У меня есть некоторые искажения с использованием Javazoom на Linux. комментарий выше о прерывании входного потока побудил меня сохранить экземпляр класса Player и закрыть буферизованный поток ввода, прежде чем открывать его каждый раз. Это помогло, но я не уверен. Он вернулся, но реже и теперь уходит, если я закрываю Firefox.

Спасибо за понимание, что входные потоки прерваны.