分享

网页播放amr音频+Java后台判断音频长度

 昨夜雾浓 2017-11-23
近来笔者开发时在前台需要播放amr格式的音频文件,中间几经波折最后还是成功了,特此分享出来希望能帮到大家(还包括后台判断amr音频长度)

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、效果,无图无真相,进度条会动的哦

网页播放amr音频+Java后台判断音频长度
IE、FireFox、chrome测试通过。

另外附上后台得到amr音频的播放长度的java代码
  1.      
  2.     public static long getAmrDuration(File file) throws IOException  
  3.         long duration -1;  
  4.         int[] packedSize 12, 13, 15, 17, 19, 20, 26, 31, 5, 0, 0, 0, 0, 0, 0, };  
  5.         RandomAccessFile randomAccessFile null;  
  6.         try  
  7.             randomAccessFile new RandomAccessFile(file, "rw");  
  8.             long length file.length();//文件的长度  
  9.             int pos 6;//设置初始位置  
  10.             int frameCount 0;//初始帧数  
  11.             int packedPos -1;  
  12.  
  13.             byte[] datas new byte[1];//初始数据值  
  14.             while (pos <= length)  
  15.                 randomAccessFile.seek(pos);  
  16.                 if (randomAccessFile.read(datas, 0, 1) != 1)  
  17.                     duration length ((length 6) 650) 0;  
  18.                     break;  
  19.                  
  20.                 packedPos (datas[0] >> 3) 0x0F;  
  21.                 pos += packedSize[packedPos] 1;  
  22.                 frameCount++;  
  23.              
  24.             duration += frameCount 20;//帧数*20  
  25.         finally  
  26.             if (randomAccessFile != null)  
  27.                 randomAccessFile.close();  
  28.              
  29.          
  30.         return duration;  
  31.     

 

 笔者亲测可用,请大家放心使用。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多