0
我正面臨一個奇怪的編程問題。它耗盡了我,但沒有找到解決方案!當用於音頻播放的函數被調用時Java事件被終止
我的程序主要是依賴於從外部硬件燒製從接收音頻消息的事件(爪哇監聽器),該hardware.Inside的事件處理程序i執行以下
- 傳遞所接收的消息,以從另一個類返回數據的靜態方法「解碼」
- 然後我打開FileOutputStream,將這些數據「音頻」寫入文件,然後關閉FileOutputStream。
- 我從另一個類中調用靜態方法「播放」來播放音頻文件。
問題是:每當首次調用「Play」方法時,它會正確執行,但會導致事件停止提升並且程序終止,但沒有例外。當我評論玩法時,一切都變好了!
對於導致程序終止的方法你有一些想法嗎?
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