日期:2014-05-20  浏览次数:20718 次

J2me 播放MP3
我用的是motorola L72手机
程序在电脑的模拟器上是好用的。可以正常播放。
打包到手机上执行出现异常:javax.microedition.media.MediaException: realize failed
mp3文件也打包在jar里。手机的格式我查看了一下确实是支持mp3。
代码如下:
public void play(String path) throws Exception {
InputStream in = getClass().getResourceAsStream(path);

Player player = Manager.createPlayer(in,"audio/mp3");
player.realize();//异常
player.prefetch();

player.start();

}

请各位帮忙看下。

------解决方案--------------------
有这个格式吗"audio/mp3" ??

好像是"audio/mpeg"吧,查一下API吧。。。。
------解决方案--------------------
MP3 audio files: audio/mpeg

audio/mpeg我也试验了。也不行

这样写估计也没什么问题,要不换换其他的mp3试试看?
------解决方案--------------------
可以考虑换一种文件格式试试,比如amr
------解决方案--------------------

1.首先要测试手机支持的格式。 String[] types=Manager.getSupportedContentTypes(null);
2.将播放的文件放入res文件夹下。
3.编写具体的代码:
InputStream input=getClass().getResourceAsStream(t1.getString());//t1.getString()为获取textField中的内容。
Player player = Manager.createPlayer(input,"video/mpeg");
//Player player = Manager.createPlayer(t1.getString());//这个直接创建播放的没有成功。
player.realize();
VideoControl gc=(VideoControl)player.getControl("VideoControl");
if(gc!=null)
{
myform.append((Item)gc.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE, null));
}
player.start();
通过以上的编写可以很好的实现手机中视频的播放。
------解决方案--------------------
你说的支持可能是你的手机系统支持,但是,java虚拟机并不支持啊,没记错的话,虚拟机是不支持mp3格式的音乐的,用j2me写的程序只可以调用java虚拟机里的资源 不可以调用手机系统的 


32908375疯狂的程序员 欢迎加入 共同学习提高