首先谢谢大家指教.
我现在做手机要播放AMR格式音乐,据说直接使用MIDP20中的createPlayer(inputstream, "audio/amr ")就可以.但是我如此使用后会报出nosupported format 异常.感觉很诡异,于是到WTK22中找到midpapi20.jar将其中的Manager.class反编译,发现其中只写出了 "audio/x-tone-seq ", "audio/x-wav ", "audio/midi ", "audio/sp-midi ", "image/gif ", "video/mpeg ", "video/vnd.sun.rgb565 ".感觉很是古怪.不是说midp20支持amr,map3等多种声音播放吗?难道还要什么扩展包吗?
注:我的手机支持MIDP20,AMR.且异常在IDE,模拟器中都存在.
------解决方案--------------------------------------------------------
这个很正常,有些数据格式是非开源的,wtk没办法使用
如果你确定手机支持的话,打好包装到手机上测试能运行就好了
------解决方案--------------------------------------------------------
不是所有的MIDP20手机都能播放amr音频的。像Nokia的有些新s40手机虽然是MIDP2.0的但是页不支持amr.(如Nokia 7360). 三星的MIDP20手机就普遍不支持amr.
你得先检查该手机是否支持amr音频格式。
int bAMRPlayFlag = 0;
String types[] = null;
String types = Manager.getSupportedContentTypes(null);
for( int i=0; i <types.length; i++ )
{
if(temp[i].indexOf( "audio/amr ") > = 0)
{
bAMRPlayFlag = 1;
}
}
------解决方案--------------------------------------------------------
恩,在模拟器上不支持很正常啊,到手机上试试先