微信发送amr文件导致web端无法显示解决方案

原创 2016年09月22日 16:20:22

html5中有audio这样一个标签,这个标签支持3种格式,分别是wav、mp3、ogg格式,都是音频格式,

而且在不同的浏览器中还有不同的兼容性。

下面是主流的几个浏览器对它的支持性:


那么,问题来了,我们现在是微信上发送的语音文件(格式为amr)需要在浏览器上进行展示,结果由于audio标签并不支持amr格式的语音文件,就导致无法再浏览器上正常显示。

解决方案:


原理该方案的原理是利用ffmpeg工具的转码功能将amr格式转换为MP3格式

使用方法使用方需要做如下两个步骤:

1、在classpath下的com/bill99/amr/util下放入上图所示两个文件:ffmpeg.exe和

PthreadGC2.dll;

2、引入jar包amr-to-mp3-translator.jar,web.xml中加入过滤器,

   <filter>

   <filter-name>Amr2Mp3Filter</filter-name>

   <filter-class>com.bill99.amr.filter.Amr2Mp3Filter</filter-class>

  </filter>

  <filter-mapping>

   <filter-name>Amr2Mp3Filter</filter-name>

   <url-pattern>*.amr</url-pattern>

  </filter-mapping>

 

说明附件中amr-test.zip是客户端测试程序,解压后放入tomcat即可进行测试!

具体代码可从我的github上下载:https://github.com/iamzken/amr-to-mp3

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

HTML5+规范:audio(音频的录制和播放功能)

Audio模块用于提供音频的录制和播放功能,可调用系统的麦克风设备进行录音操作,也可调用系统的扬声器设备播放音频文件。通过plus.audio获取音频管理对象。 1、常量   ROUTE_SPEA...

php 在web端来播放amr语音(如微信语音)

说下整体思路 1、服务器安装ffmpeg 2、使用ffmpeg -i 指令来转换amr为mp3格式(这个到时候写在php代码中,使用system函数执行即可) 3、在网页端使用html5的audio标...
  • ROVAST
  • ROVAST
  • 2015年11月11日 17:41
  • 10310

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

如何解决不同格式的文件在Tomcat下无法下载问题

打开%TOMCAT_HOME%/conf/web.xml  在里面里面增加rar文件的mime映射就可以了。也可以将其他的类型添加到mime映射中,如:  doc  application/...

微信录音amr音频文件转mp3格式

微信录音的音频为amr格式,不支持网页播放,且上传语音有效期3天,可用微信多媒体接口下载语音到自己的服务器,然后转码转成MP3格式...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

关于web项目播放AMR格式音频的问题

近期由于项目需要,前端只能用AMR格式的音频,而后台web页面现在不知道这种格式的在线播放; 搜索了许久两种解决方式: 1、页面嵌套插件,提说是quickTime控件,apple官方网站下载,但是...
  • Yuli_li
  • Yuli_li
  • 2015年10月30日 16:41
  • 5027

从测试到开发掌握 ffmpeg安装 以及amr 转换MP3 并且播放

1:原理 调用ffmpeg 执行转换 即:先把amr 下载到服务器 调用 ffmpeg -i 转换生成MP3 文件 通过二进制流的形式 ajax点击播放异步转换并且生成流通过audio的src属...

java amr格式转mp3格式(完美解决Linux下转换0K问题)

因项目需求,需要将 amr 格式的文件转成 mp3格式。 网络上提供的思路大多是使用jave-x-x.jar。 这个包确实有用,因为开发时是在windows环境中,测试转换虽然报了异常: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:微信发送amr文件导致web端无法显示解决方案
举报原因:
原因补充:

(最多只允许输入30个字)