Я пытаюсь воспроизвести 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-файлы не были приняты. Кто-нибудь знает, как я могу заставить игрока работать? Заранее спасибо
JLayer работает практически с любым mp3-файлом - исключения будут «бесплатным битрейтом» (никогда не видели такой файл). Код ошибки 102 указывает на ошибку чтения из потока. Вероятно, вы запустили плеер (который запускается в своем потоке), а затем закрыли входной поток из основного потока. Простая ошибка кодирования. – Durandal
хорошо, спасибо. – user3021755
У меня есть «BufferedInputStream bis» в моем коде, и когда я комментирую 'bis.close()' плеер работает так, как должен. Можете ли вы объяснить, почему закрытие входного потока создает ошибку? Кроме того, невозможно закрыть плеер JFrame, хотя я поставил 'myPlayer.play()' назначение в отдельном потоке. как я могу заставить приложение быть закрытым? – user3021755