扫码关注官方订阅号
微信公众号获取的语音文件是amr格式,想在html页面上直接播放出来。但是找了一下,html5也不支持amr格式,其他的播放器也没有看到支持的。 一般都是如何处理amr格式的音频呢,还是只能转成mp3后再播放?腾讯自己的公众号平台是如何播放的?
走同样的路,发现不同的人生
ffmpeg.exe 这个可以在公众号下载语音时进行转换 有接口
根据 W3C 的标准定义和各浏览器的实现,<audio> 标签目前是没有浏览器支持 amr 格式的。如果需要实现的话只能使用 Flash 实现,推荐 http://jplayer.org 这个插件,可以使用 HTML5 + Flash ,通过 JS 操作控制播放。
<audio>
amr
不依赖第三方插件的话,是没有的。微信之所以能播放是因为它做了转换成mp3来实现播放,你可以使用chrome开发者工具查看请求。
用amr解码器,amrnb.min.js 然后 AMR.decode(xxx) 一下,在利用audio api播放
附上核心代码:
function playAmrArray(array) { var samples = AMR.decode(array) if (!samples) { alert('Failed to decode!') return } playPcm(samples) } function playPcm(samples) { var ctx = getAudioContext() if (!ctx) { return Toast.show('暂不支持播放语音') } var src = ctx.createBufferSource() var buffer = ctx.createBuffer(1, samples.length, 8000) 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() }
目前没有发现有
你要是愿意的话,flash插件很多能解决这个问题。
http://xxxx.qiniudn.com/audio/sound.amr?avthumb/mp3
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
ffmpeg.exe 这个可以在公众号下载语音时进行转换 有接口
根据 W3C 的标准定义和各浏览器的实现,
<audio>
标签目前是没有浏览器支持amr
格式的。如果需要实现的话只能使用 Flash 实现,推荐 http://jplayer.org 这个插件,可以使用 HTML5 + Flash ,通过 JS 操作控制播放。不依赖第三方插件的话,是没有的。微信之所以能播放是因为它做了转换成mp3来实现播放,你可以使用chrome开发者工具查看请求。
用amr解码器,amrnb.min.js 然后 AMR.decode(xxx) 一下,在利用audio api播放
附上核心代码:
目前没有发现有
你要是愿意的话,flash插件很多能解决这个问题。
http://xxxx.qiniudn.com/audio/sound.amr?avthumb/mp3