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

疑惑:MDIP20的amr声音播放
首先谢谢大家指教.
我现在做手机要播放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;
}
}



------解决方案--------------------
恩,在模拟器上不支持很正常啊,到手机上试试先