mp3格式播放大家都知道,amr格式就陌生了,至少我之前没有做过
![[转载]网页开发之amr音频的播放(后台判断音频长度) amr音频](http://img.aihuau.com/images/31101031/31060952t01061dd68c96a482e1.png)
amr格式文件播放出来的声音音质比mp3差,主要应用于手机铃声和手机录音,目的是为了给手机用户节省流量。大部分主流的音视频播放器都支持amr格式,现在要实现网页播放有点问题(还要考虑兼容性)。百度一番,调试一番,终于听到声音了。
笔者采用的播放插件是QuickTime,不知道的可以百科一下,下面就是方法了:
1、下载QuickTime软件并安装,地址http://www.apple.com/quicktime/download/index.html
2、在网页添加以下代码
//<//embed controller="true" bgcolor="black"target="myself" type="video/quicktime"pluginspage="http://www.apple.com/quicktime/download/index.html"align="middle" height="10" width="1000">
3、效果,无图无真相,进度条会动的哦
IE、FireFox、chrome测试通过。
- publicstaticlonggetAmrDuration(Filefile)throwsIOException{
 - longduration=-1;
 - int[]packedSize={12,13,15,17,19,20,26,31,5,0,0,0,0,0,0,0};
 - RandomAccessFilerandomAccessFile=null;
 - try{
 - randomAccessFile=newRandomAccessFile(file,"rw");
 - longlength=file.length();//文件的长度
 - intpos=6;//设置初始位置
 - intframeCount=0;//初始帧数
 - intpackedPos=-1;
 - byte[]datas=newbyte[1];//初始数据值
 - while(pos<=length){
 - randomAccessFile.seek(pos);
 - if(randomAccessFile.read(datas,0,1)!=1){
 - duration=length>0?((length-6)/650):0;
 - break;
 - }
 - packedPos=(datas[0]>>3)&0x0F;
 - pos+=packedSize[packedPos]+1;
 - frameCount++;
 - }
 - duration+=frameCount*20;//帧数*20
 - }finally{
 - if(randomAccessFile!=null){
 - randomAccessFile.close();
 - }
 - }
 - returnduration;
 - }
 
爱华网

