调微信的录音接口,生成的是amr文件,在h5中不能直接播放
github上有个用js写的amr解码器https://github.com/mykmelez/opencore-amr-js
具体自己去看代码,有demo

然后

android可以正常播放amr文件,ios的不支持
微信的amr文件的采样频路是8000,在ios中不支持,ios支持到20000多,具体没测
如果用超过8000的频率播放,语音速度会很快,ios的解决办法是加频率的同时加帧数

看代码

function playPcm(samples) {var ctx = getAudioContext();if (!ctx) {return $.toast('你的设备暂不支持播放语音');}var src = ctx.createBufferSource();var buffer;try{buffer = ctx.createBuffer(1, samples.length, 8000);}catch(e){buffer = ctx.createBuffer(1, samples.length * 3, 24000);var samples3 = new Float32Array(samples.length * 3);var ij = 0;for (var i = 0; i < samples.length; i++) {for (var j = 1; j <= 3; j++) {samples3[ij++] = samples[i];}}samples = samples3;}if (buffer.copyToChannel) {buffer.copyToChannel(samples, 0, 0)} else {var channelBuffer = buffer.getChannelData(0);channelBuffer.set(samples);}      src.buffer = buffer;src.connect(ctx.destination);//src.start();if (src.start) {src.start(0);} else if (src.play) {src.play(0);} else if (src.noteOn) {src.noteOn(0);}
}

转载于:https://my.oschina.net/u/2277555/blog/798217

h5直接播放amr文件相关推荐

  1. 使用微信API实现H5页面播放音频文件

    之前在处理H5页面播放音频文件的时候,总是需要搞一个https才能正常播放,一次无意浏览到了一个自动播放音频的页面,发现了使用微信Api可以不使用https也能播放音频文件.作为记录,简单页面实现如下 ...

  2. h5 audio播放音频文件

    h5 audio播放音频文件 注:下面html中样式及不相关的内容去掉了 第一个例子 播放没有防盗链的外网音频文件是可以的 <!doctype html> <html> < ...

  3. 使用DirectShow播放AMR文件

    AMR全称Adaptive Multi-Rate,自适应多速率编码,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的.其具体的文件格式可以参 ...

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

    在最近的H5项目中,遇到了个棘手的问题. 项目中需要使用微信录音的JSSDK接口,录完音后上传到自己的服务器上.流程如图: 整个流程非常清晰,也十分顺利.但下载到网站服务器上的文件时amr格式的音频文 ...

  5. h5原生audio播放amr格式的音频

    h5不能播放amr格式的样式,需要进行转码,在下已知的方法有两种 一.引入 js 文件 <script type="text/javascript" src="./ ...

  6. java 播放amr_amr格式转mp3和直接播放amr格式的文件-sunziren

    原创文章,转载请注明出处! 前言: amr作为一种高压缩比的音频格式,受到很多客户的青睐.本文主要涉及两部分的内容,一是amr如何转为mp3格式,二是如何直接播放amr格式的文件. 1. 如何使用Ja ...

  7. h5移动端播放amr格式的音频文件兼容安卓IOS

    基于amr.js和RecorderJs,最底部有线上demo代码 播放 AMR: var amr = new BenzAMRRecorder(); amr.initWithUrl('path/to/v ...

  8. H5页面播放M4a音频文件

    业务场景: 手机app端录音,然后上传至后台服务器,前端从后台服务器获取录音,在PC端WEB页面播放. 实际问题: 首先app录音文件默认是m4a格式,而在PC端WEB H5页面,<audio& ...

  9. HTML + js 播放amr音频文件

    将amr文件转化成base64字符串,用js转换成音频播放 js文件下载链接: https://pan.baidu.com/s/1kWsLOc3 密码: 2ca5 链接: https://pan.ba ...

  10. 关于H5播放视频文件的问题

    m3u8文件是指UTF-8编码格式的M3U文件.M3U文件是记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的路径进行播放. 简单说,播放器通过m3u8文件 ...

最新文章

  1. CSE 3100 Systems Programming
  2. 编译安装LAMP及分离式LAMP平台构建
  3. Jmeter也能IP欺骗!
  4. centos7.6下的python3.6.9虚拟环境安装elastalert
  5. PostgreSQL消息乱码的解决
  6. linux下桥接模式设置静态IP实现上网
  7. java抽象类的构造函数如何定义_我们可以在Java的抽象类中定义参数化的构造函数吗?...
  8. Go语言很好很强大,但我有几个问题想吐槽
  9. 电路常识性概念(8)-MOS管及简单CMOS逻辑门电路原理图
  10. 【2018icpc宁夏邀请赛现场赛】【Gym - 102222A】Maximum Element In A Stack(动态的栈中查找最大元素)
  11. 数据库中间件mycat简单入门
  12. Elasticsearch--进阶-term_keyword查询---全文检索引擎ElasticSearch工作笔记015
  13. 支付系统总结 ( 收单,收银,资产交互,账务 )
  14. linux挖矿检测,详谈挖矿木马的检测和解决方案
  15. 红米5无线网连接上但是没有网络连接服务器,红米路由器wifi已连接但无法访问互联网怎么办 | 192路由网...
  16. addEventListener兼容ie低版本
  17. #1636 : Pangu and Stones(区间dp)
  18. CRC-16/CRC-32 程序代码
  19. 通过这张图片找到照片地址
  20. USB键盘实现——字符串描述符(四)

热门文章

  1. 解决Maven Not Authorized问题
  2. Prometheus-----1
  3. 实现智能dns为用户分配最佳线路
  4. 常见的计算机专业相关词汇汇总
  5. 第一次电话面试失败之后
  6. MySQL数据备份与恢复及sql语句使用方法
  7. java 刻度尺,刻度尺选择控件
  8. 2014中国互联网安全大会
  9. linux sdl windows.h,SDL入门教程(十):1、多语言支持,Win32下的GetText
  10. 这个可以有!百度大脑EasyDL新发布EasyData搞定AI开发中的数据管理问题