网页上播放微信录音amr文件方案

您所在的位置:网站首页 amr语音文件怎么打开 网页上播放微信录音amr文件方案

网页上播放微信录音amr文件方案

2023-12-20 07:07| 来源: 网络整理| 查看: 265

在最近的H5项目中,遇到了个棘手的问题。

项目中需要使用微信录音的JSSDK接口,录完音后上传到自己的服务器上。流程如图:

 整个流程非常清晰,也十分顺利。但下载到网站服务器上的文件时amr格式的音频文件。这种文件前端页面无法直接播放,无论时audio标签,还是各类JS播放音频文件的库都不支持直接播放amr文件。

 查了很多资料,总共有以下三种解决方案:

1、上传时通过阿里云OOS、七牛云等云存储系统的API接口直接转码保存

这里以阿里云OOS为例,文档地址:传送门

 

但是!!!!!

阿里云OOS云存储系统跟媒体对象处理的功能是分别收费的!媒体对象转码功能需要额外付费。。。公司只购买了OOS云存储系统,没有购买媒体对象的功能,申请又不批,只能另寻他策。

2、前端页面转码

主要流程是,将amr文件下载到客户端设备,然后在本地进行转码成MP3播放。该方案主要使用benz-amr-recorder的库(其他转码库的原理基本一致),基于amr.js与recorder.js的库。文档地址:传送门

但是这种库的转码十分麻烦,而且用户体验非常糟糕。

3、服务器转码

在前面两种方案行不通的情况下只能将文件下载到服务器的同时进行转码。主要使用的技术是ffmpeg转码。本人使用的就是这种方案,主要是方案一不给钱,不然的话方案一是最优解。

因为网站服务器是centOS系统,所以我是参考的这个文章进行的安装与操作:linux下使用ffmpeg将amr转成mp3

虽然是2018年的文章,但亲测可用。

最后采用了一种比较迂回的方案解决这个问题

 总算解决的当前需求。

总结:

在前端是无法直接播放amr文件的,需要将其转码成通用的Mp3格式。转码可以从三个方面考虑。按友好度跟效率分别为:云存储转码、服务器转码、前端页面转码。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3