mp3格式播放大家都知道,amr格式就陌生了,至少我之前没有做过
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;
- }