如果是我,我会使用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低级别调用来解决问题。 –