您的位置:首页 > 移动开发 > 微信开发

微信小程序音频相关问题:播放,录音等相关

2017-03-08 14:43 916 查看
其实我也知道音频问题,十分尴尬,可以参考的资料极少,研究者也不多,所处的教程也基本是基础的内容,稍微深入几乎一篇都没有;所以前段时间我就准备弄的东西,一直没弄,因为没资料去弄,但是今天,看到一个同学遇到的问题,我觉得还是应该弄一下,以便以后遇到问题时参考;本帖将不断聚合全网所有跟音频相关的资料及讨论;
官方文档地址:

audio:https://mp.weixin.qq.com/debug/w ... nt/audio.html#audio

录音:https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-record.html

wx.startRecord(OBJECT)

开始录音。当主动调用wx.stopRecord,或者录音超过1分钟时自动结束录音,返回录音文件的临时文件路径。当用户离开小程序时,此接口无法调用。
wx.stopRecord()

​主动调用停止录音。

音频播放控制:https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-voice.html

wx.playVoice(OBJECT)

开始播放语音,同时只允许一个语音文件正在播放,如果前一个语音文件还没播放完,将中断前一个语音播放。
wx.pauseVoice()

暂停正在播放的语音。再次调用wx.playVoice播放同一个文件时,会从暂停处开始播放。如果想从头开始播放,需要先调用 wx.stopVoice。
wx.stopVoice()

结束播放语音。

音乐播放控制:https://mp.weixin.qq.com/debug/w ... ckground-audio.html

wx.getBackgroundAudioPlayerState(OBJECT)

获取后台音乐播放状态。
wx.playBackgroundAudio(OBJECT)

使用后台播放器播放音乐,对于微信客户端来说,只能同时有一个后台音乐在播放。当用户离开小程序后,音乐将暂停播放;当用户点击“显示在聊天顶部”时,音乐不会暂停播放;当用户在其他小程序占用了音乐播放器,原有小程序内的音乐将停止播放。
wx.pauseBackgroundAudio()

暂停播放音乐。
wx.seekBackgroundAudio(OBJECT)

控制音乐播放进度。
wx.stopBackgroundAudio()

停止播放音乐。
wx.onBackgroundAudioPlay(CALLBACK)

监听音乐播放。
wx.onBackgroundAudioPause(CALLBACK)

监听音乐暂停。
wx.onBackgroundAudioStop(CALLBACK)

监听音乐停止。

音频组件控制:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-audio.html

wx.createAudioContext(audioId)

创建并返回 audio 上下文 audioContext 对象
audioContext

audioContext 通过 audioId 跟一个 <audio/> 组件绑定,通过它可以操作对应的 <audio/> 组件。

相关文章:(太少了,也基本都是基础)
跑步App+音乐播放器 ...300行代码写一个音乐播放器小程序及网易云音乐API介绍
微信小程序实战教程:音乐播放器
音乐播放器 真机测试 audio API
video视频播放,audio音频播放
实现tabs选项卡效果,location API接口,audio组件 ...
微信小程序silk录音文件转mp3
微信小程序开发之录音机 音频播放 动画 (真机可用)

相关demo:(随着时间,可能部分无法使用了,仅供参考)
微信小程序学习demo:读诗:tab列表,音频播放,字典词典
音乐视屏播放,歌词展示,暂停/播放/上一首/下一首
微信小程序学习用demo:滴滴音频卡:长按播放音频
微信小程序demo:音乐播放器:来自网易云
微信小程序精品demo:仿网易云音乐:歌单,FM,播放,评论
微信小程序完整demo:简易音乐播放(java后端)
微信小程序学习用demo推荐:破音万里:音频播放,音乐列表
微信小程序的功能封装:缓存,音乐播放器,Polyfill
微信小程序demo:QQ音乐;音乐搜索,音乐列表及播放停止
微信小程序学习demo推荐:简单音乐播放器,基于node后端
微信小程序学习用demo:听小说,音频播放
微信小程序学习用demo:音乐播放器:使用Labrador框架
微信小程序学习用demo:音乐播放控制
优质demo推荐:QQ音乐:可用于研究播放音乐(适用1123
学习用demo:良友知音 轻轻听:点击打开列表与播放音频
微信小程序学习用精品demo:仿音乐播放器
微信小程序学习用demo:音乐播放器:带列表循环模式设置
微信小程序优质demo推荐:仿网易云音乐:实现大量实用功能
微信小程序完整demo:语音小闹钟;自定义tabbar,录音
微信小程序组件学习demo:录音机,RECORD组件真机可用
微信小程序demo:跟读:附大量作者跳坑记录:录音/上传/...

相关讨论:
微信小程序播放音频
音频组件在切换音频src时不能直接播放
wx.playBackgroundAudio后台音频播放问题
微信小程序 音频不能播放
关于录音的问题
小程序录音后播放录音无法成功
关于Audio播放音乐列表;

相关讨论:

Q:在安卓端,当一个音频播放到最后结束后,onBackgroundAudioStop会调用两次?

A:已知问题,下个版本修复,谢谢反馈。

Q:使用后台播放器播放音乐,在android机上只要锁屏就暂停了播放。

A:http://support.weixin.qq.com/cgi
... /android_exp__index

  Andorid客户端bug,请下载最新6.5.4版本。

Q:小程序后台播放支持m3u8的音频吗?

A:暂时不支持,后续版本支持。

Q:小程序音频,视频播放器问题 。

     1:能够只隐藏进度条跟时间吗

     2:现在iOS平台上的时间显示是0:00,但是android上会显示错误码,能够通过什么设置修改吗?

A:1:下个版本会修改这里的交互,不显示进度条和时间。

     2:6.5.3 版本已修复此问题。

Q:是否支持视频直播或音频直播,如HLS?

A:我们正在技术上正不断完善,很快将提供支持。

相关讨论:
小程序录音的格式为silk格式,有什么办法转成MP3吗?

我们的程序是PC,原生,小程序  各版本都有,小程序录的音格式在PC上或原生都放不了,有办法改格式吗?或者有什么办法转成MP3吗?
https://github.com/kn007/silk-v3-decoder
相关讨论:
关于录音文件(.silk) 

录音文件.silk文件是否可以转成mp3文件上传到服务器?

或者可以直接把.silk文件上传到服务器后下发到小程序进行播放嘛

请教如何把录音上传至服务器,分享给其他用户

将silk文件上传到七牛进行转码并存放,然后返回的相关信息存数据库里,用户想播放时,返回这条音频的信息

相关讨论:
微信小程序录音保存

通过录音返回的文件地址,如何调用上传接口将silk文件上传到自己的服务器,文件的name(文件对应的key)是什么?

可以查看 wx.uploadFile 文档

相关讨论:
playBackgroundAudio背景音乐暂停状态播放另一条新的音乐问题

wx.playBackgroundAudio()正在播放A音乐,暂停后,点击另外一条新的B音乐播放的时候,不会切换至B音乐播放,而是在原来那条A音乐暂停的地方继续播放!(或者说在暂停状态下点击下一曲,会当前歌曲继续播放,而不是另一首从头播放)安卓端和ios端同样问题,请问是我的代码问题,还是小程序的bug!

你用的是 pause 方法,要用 stop 方法

相关讨论:
我的微信小程序在真机测试的时候无法播放m4a音频,mp3音频可以正常,你遇到过吗?

url 编码问题,音频链接里面有中文字符, url 编码后就好了!

相关讨论:
playvoice不能播放声音文件

声音文件都放到同一目录下了,在开发工具和andriod机中都不行



playVoice 只能播放 startRecord 录音后的音频

相关讨论:

回复 发新帖 手机使用playBackgroundAudio播放音频失败

获取的网上的MP3音频地址,在编辑器上成功,可以正常播放,但是手机上测试时就显示失败,无法播放

playBackgroundAudio无法播放的问题解决了....真坑爹,官方文档上写的方法有一个title,然后必填写的是否,但是如果方法不加这个title,就会播放失败,而且编译器也默认不会生成这个title

相关讨论:

微信录音的silk格式文件怎么转MP3

已经解决了,用的gitHub上面的decoder开源库,先解码silk,再转MP3https://github.com/kn007/silk-v3-decoder

相关讨论:

关于自动播放音频的问题

后台返回给我三段语音的url.我在前端如何使用一个按钮控制播放和暂停.并且播放完一段语音之后,自动播放下一段语音,知道播放完为止?

video有这个属性bindended,可以判断是否播放结束,然后继续播放下一个

相关讨论:
wx:file//地址不合法,下载到本地的音频文件无法播放 在微信小程序中,可以通过 audio 组件播放网络音频资源。现在想将音频先下载到本地,之后不用每次都下载,提高用户体验。使用 wx.downloadFile 接口将音频文件下载后,无法通过 audio 组件或者 wx.playVoice 播放,提示地址URL不合法,请问有没有相应解决方案?如果“wx:file//”地址不合法,那么是不是所有用户下载的音频视频文件都会无法播放啊。请问是我方法错误,还是有更好的解决方案我们不知道



先到 项目-配置信息 配置合法的downloadFile域

可以试试先download,再savefile,再调用playVoice可以
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: