如果是我,我會使用Player對象來播放AMR文件或MIDI文件。
AMR是JavaME中支持最廣泛的流式音頻格式。您可以使用各種轉換器輕鬆將WAV文件轉換爲AMR。
使用Player對象非常簡單。這裏是一個演奏MIDI的例子。首先,創建Player對象:
Player myPlayer = Manager.createPlayer(getClass().getResourceAsStream("music.mid"), "audio/midi"); // For AMR use audio/amr
在這之後你可以只是調用myPlayer.start(),但這裏的麻煩:有些設備需要您首先調用REALIZE()和預取(),而這些確切的通話將擾亂其他設備上的回放。因此,要獲得播放上最可能的設備工作,你只扔幾try/catch塊:
try {
myPlayer.realize();
} catch (Exception e) {} // Didn't work? Oh well, never mind.
try {
myPlayer.prefetch();
} catch (Exception e) {} // Again, we don't care if it didn't work.
try {
myPlayer.start();
} catch (Exception e) {}
使用方法應該給你最有可能設備正常工作的聲音。
在網上找到使用嘟嘟聲不應該是一個問題。
感謝您的回答。但是,該設備沒有聲卡,所以我需要主板嘟嘟聲。我已經通過使用更強大的JVM(phoneMe Advanced)和JNI低級別調用來解決問題。 –