У меня возникла странная проблема программирования. Он исчерпал меня, но решения не найдено!Событие Java убито, когда функция воспроизведения звука называется
Моя программа в основном зависит от события (Java Listener), который обжигал от внешнего оборудования для приема звукового сообщения от hardware.Inside EventHandler я сделать следующее
- передать полученное сообщение статический метод «декодировать» из другого класса, который возвращает данные
- , затем я открываю FileOutputStream, записываю эти данные «аудио» в файл и закрываю FileOutputStream.
- Я вызываю статический метод «играть» из другого класса для воспроизведения аудиофайла.
Проблема заключается в том, что всякий раз, когда метод «Воспроизвести» вызывается в первый раз, он выполняется правильно, но он вызывает остановку события и завершение программы, но без исключений. Когда я комментирую метод игры, все становится хорошо!
У вас есть представление о методе, вызывающем прерывание программы?
public void messageReceived(int to,Message message)
{
speexAudioMsg msg = (speexAudioMsg)message;
try{
byte[] output = jspeexDecoder.decode(msg.get_frame());
os = new FileOutputStream(file);
os.write(output);
os.close();
Player.play();
}
catch (IOException ex) {ex.printStackTrace();}
}
Спасибо за ответ, я попробовал линию и получил эту ошибку:. ожидается новая тема (новый Runnable() {Player.play();}) начать (); и стрелка ошибки указывает на воспроизведение(). у вас есть идея? –
Mash
Я обновил пример и исправил исходный фрагмент кода – ControlAltDel