如果您查看BlackBerry API 文档,您会看到createPlayer()
您使用的版本:
MediaException - 如果无法为给定定位器创建 Player,则抛出该异常。
它还说:
locator - URI 语法中描述媒体内容的定位符字符串。
您的定位器 ( "abc.mp3"
) 看起来不像是 URI 语法。您可以尝试将其更改为"file:///SDCard/some-folder/abc.mp3"
.
或者,如果 mp3 文件是应用程序资源,我通常使用以下代码:
try {
java.io.InputStream is = getClass().getResourceAsStream("/sounds/abc.mp3");
javax.microedition.media.Player p =
javax.microedition.media.Manager.createPlayer(is, "audio/mpeg");
p.realize();
// get volume control for player and set volume to max
VolumeControl vc = (VolumeControl) p.getControl("VolumeControl");
if (vc != null) {
vc.setLevel(100);
}
// the player can start with the smallest latency
p.prefetch();
// non-blocking start
p.start();
} catch (javax.microedition.media.MediaException me) {
// do something?
} catch (java.io.IOException ioe) {
// do something?
} catch (java.lang.NullPointerException npe) {
// this happened on Tours without mp3 bugfix
}