在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:uniapp-z-audio开源软件地址:https://gitee.com/jingangtui/uniapp-z-audio开源软件介绍:uniapp-zaudio 背景音频播放组件当前版本 预览http://jingangtui.gitee.io/uniapp-z-audio/#/ 若文档展示不全,请查看gitee或下载示例特性
简要说明
使用步骤
注意大小写:ZAudio是类 HbuilderX插件导入方式, import可能需要修改目录名哦 import ZAudio from '@/components/uniapp-zaudio' //HbuilderX插件导入方式, import可能需要修改目录名哦// import ZAudio from 'uniapp-zaudio' // npm引用方式let zaudio = new ZAudio({ continuePlay: true, //续播 autoPlay: true, //自动播放 部分浏览器不支持});Vue.prototype.$zaudio = zaudio; //挂载vue原型链上//模拟音频初始数据,切勿业务中使用var data = [ { src: "https://96.f.1ting.com/local_to_cube_202004121813/96kmp3/zzzzzmp3/2016aJan/18X/18d_DeH/01.mp3", title: "恭喜发财", singer: "刘德华", coverImgUrl: "https://img.1ting.com/images/special/75/s150_f84ef5082b0420f74cd2546b986ab0fc.jpg", }, { src: "https://96.f.1ting.com/local_to_cube_202004121813/96kmp3/zzzzzmp3/2015kNov/25X/25m_XiaoQ/03.mp3", title: "好运来", singer: "作者1111", coverImgUrl: "https://img.1ting.com/images/special/204/s150_77254cd4a4da1a33b8faf89c4cbf6e40.jpg", },];zaudio.setAudio(data); //添加音频zaudio.setRender(0)//渲染第一首音频
注意大小写:zaudio是组件 <zaudio theme="theme3"></zaudio> import zaudio from '@/components/uniapp-zaudio/zaudio';// import zaudio from 'uniapp-zaudio/zaudio'export default { components: { zaudio: zaudio },}; < zaudio > 组件参数配置
<zaudio theme="theme1" themeColor="#42b983" /> ZAudio对象的参数和实例方法
初始化ZAudio类, 并渲染音频 let zaudio = new ZAudio({ continuePlay: true, //续播 autoPlay: true, //自动播放 部分浏览器不支持});var data = [ { src: "https://96.f.1ting.com/local_to_cube_202004121813/96kmp3/zzzzzmp3/2016aJan/18X/18d_DeH/01.mp3", title: "恭喜发财", singer: "刘德华", coverImgUrl: "https://img.1ting.com/images/special/75/s150_f84ef5082b0420f74cd2546b986ab0fc.jpg", }, { src: "https://96.f.1ting.com/local_to_cube_202004121813/96kmp3/zzzzzmp3/2015kNov/25X/25m_XiaoQ/03.mp3", title: "好运来", singer: "作者1111", coverImgUrl: "https://img.1ting.com/images/special/204/s150_77254cd4a4da1a33b8faf89c4cbf6e40.jpg", },];// 设置音频数据zaudio.setAudio(data)//渲染第一首音频zaudio.setRender(0) 异步加载 setTimeout(()=>{ zaudio.setAudio(data); zaudio.operate(0); //手动去渲染第1首音频},2000) 音频回调事件中注册业务
一个playing回调,触发两个业务事件 onLoad(query) { //playing回调, 注册`event-a`和`event-b`两个打印事件 this.$zaudio.on('playing', 'event-a', data => { console.log(data,'event-a') }); this.$zaudio.on('playing', 'event-b', data => { console.log(data,'event-b') }); }, destroyed(){ //页面卸载时卸载业务, 提高页面性能 this.$zaudio.off('playing', 'event-a') this.$zaudio.off('playing', 'event-b') } 实时渲染当前播放状态到zaudio组件
onShow(){ //实时渲染当前的播放状态 this.$zaudio.syncRender();}, 实时获取音频播放状态和属性
data(){ return { audiolist: this.$zaudio.audiolist, //当前音频列表 playIndex: this.$zaudio.playIndex, //当前播放的索引 paused: this.$zaudio.paused, //当前是否暂停 playinfo: this.$zaudio.playinfo //当前播放的信息 }}onShow(){ //获取音频播放状态和属性 this.getAudioState();},methods:{ getAudioState() { //注册page-index-get-state, 实时获取zaudio属性状态 this.$zaudio.syncStateOn('page-index-get-state', ({ audiolist, playIndex, paused, playinfo }) => { this.audiolist = audiolist; this.playIndex = playIndex; this.paused = paused; this.playinfo = playinfo; }); }},onHide(){ //卸载page-index-get-state,提高页面性能 this.$zaudio.syncStateOff('page-index-get-state')} 音频对象属性
let zaudio = new ZAudio();console.log(zaudio.audiolist); //获取当前的音频列表数据console.log(zaudio.renderIndex); //获取当前zaudio组件渲染音频的索引值 注意: 上面的获取的属性不是实时的状态, 实时获取见 背景播放配置在 manifest.json 中配置小程序 "mp-weixin" : { "requiredBackgroundModes" : [ "audio" ], "appid" : "", "setting" : { "urlCheck" : false }, "usingComponents" : true } 注意 ios 端需要打包 ipa 才生效iOS "ios" : { "UIBackgroundModes" : [ "audio" ]} 如果你觉得这个项目不错, 或是想增加新功能 欢迎Star Fork PR |
请发表评论