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

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

时间: 2024-10-04 07:49:52

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

vue仿微信网页版|vue+web端聊天室|仿微信客户端vue版

一.项目介绍 基于Vue2.5.6+Vuex+vue-cli+vue-router+vue-gemini-scrollbar+swiper+elementUI等技术混合架构开发的仿微信web端聊天室——vueWebChat,实现了发送消息.表情(动图),图片.视频预览,右键菜单.截屏.截图可直接粘贴至文本框进行发送. 二.技术框架 MVVM框架:Vue2.5.6 状态管理:Vuex 页面路由:Vue-router iconfont图标:阿里巴巴字体图标库 自定义滚动条:vue-gemini-sc

web端访问文件没有权限的问题

背景 : ftp的PHP项目中的某些文件没有写入的权限..系统报注意错误!!! 原因 : 一般情况下,web端访问网站一般使用的是WWW权限(有限制的权限组)去访问, 但是我们编程开发的时候, 有可能会用了root权限开发, 使用了root权限执行脚本, 导致生成的很多文件都为root权限 注意 : root权限生成的文件可能不一定是777权限(对外的权限有限制,可能不能查看, 写, 执行); 解决办法 : 1, 我们应该将crontab中的所有定时脚本都从root组移动到www组中, 那么以后

IOS 多文件上传 Java web端(后台) 使用List&lt;MultipartFile&gt; 接收出现的问题

先上正确的示例: 主要是设置我们的request的content-type为multipart/form-data NSDictionary *param = @{@"assignee" :self.userId, @"projectName" :itemName.text, @"proceedingName":Name.text, @"content" :content.text, @"urgency"

h5聊天室web端(仿微博、微信)|h5仿微信网页端|仿微信界面弹窗

html5开发的仿微博.微信聊天web端案例,h5仿微信聊天网页版,采用html5+css3+jquery+swiper+wcPop等技术进行布控架构开发,弹窗插件wcPop.js进行了一次全面api升级,修复编辑器插入表情时光标定位错误bug,新增了上传附件及自定义推送内容,另外也新增了个人名片.上传附件.分享等样式,功能上实现了消息.表情的发送,图片.视频全屏预览. 项目运行图: /* --- 用户设置.Start ---*/ // 联系人/群聊切换 $("body").on(&q

C#小白使用入门,数据库操作,web端文件下载,执行外部程序,操作ini文件

现况:现有程序被排在服务器的每日执行任务计划中,程序功能是下载web端的一个文件,然后塞入到数据库中. 问题:不知道什么原因,偶尔发现服务器任务执行失败情况,导致某一天的数据缺失. 需求:每隔三天检查一次数据是否存在,如果不存在,则指定日期重新下载一次. 第一步:写一个操作数据库的类 namespace DEMO2616{ public class OracleDBlink {string connStr = "User Id=LIRUPENG;Password=Lrp19961013..;Da

数据采集之Web端上传文件到Hadoop HDFS

前言 最近在公司接到一个任务,是关于数据采集方面的. 需求主要有3个: 通过web端上传文件到HDFS; 通过日志采集的方式导入到HDFS; 将数据库DB的表数据导入到HDFS. 正好最近都有在这方面做知识储备.正所谓养兵千日,用兵一时啊.学习到的东西只有应用到真实的环境中才有意义不是么. 环境 这里只做模拟环境,而不是真实的线上环境,所以也很简单,如果要使用的话还需要优化优化. OS Debian 8.7 Hadoop 2.6.5 SpringBoot 1.5.1.RELEASE 说明一下,这

[HTML] 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能

在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服务器,调用sns等功能,移动手机WEB页面(HTML5)Javascript提供的接口是一个好办法. 采用url链接的方式,实现在Safari ios,香港服务器,Android 浏览器,webos 浏览器,塞班浏览器,IE,Operamini等主流浏览器,进行拨打电话功能. 1.最常用WEB页面J

用HttpPost 和 HttpClient 发送请求到web 端回调数据

btnok.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 跳转到新的页面 String name=usernameTextId.getText().toString(); String pwd=passwordTextId.getText().toString(); String url = "http://112.124.12.46/wxtest/login.soap?

微信录音接口的调用以及amr文件转码MP3文件的实现

最近实现录音功能,主要涉及到录音的上传和下载,以及转码问题.微信,QQ默认的的音频文件是amr格式的,而播放器却不识别amr格式的音频,必须尽行转码.amr文件分为两种,一种是通用的amr格式,这种文件可以用任意播放器打开播放.但是还有另外一种amr文件,这种文件的后缀虽然是amr,但其实其内部并不是真正的amr格式.有不对的地方有请各方大神批评指正,具体实现如下: 1.调用微信录音接口(开始录音,暂停录音,上传录音,) 具体接口请你参考 http://mp.weixin.qq.com/wiki