最近有个uniapp有个设置背景音乐的需求,查了一些资料,想通过通用组件实现,无奈页面太多。最后终于找到了可以不用挨个页面修改的方法,并且在使用过程中发现了该方法中未能说明的地方自己做了补足,记录一下。
1、app.vue设置背景音乐组件
onLaunch: function() {
this.bgmMusic = uni.createInnerAudioContext();
this.bgmMusic.autoplay = true;//自动播放
this.bgmMusic.loop = true;//循环播放
this.bgmMusic.src = '../static/audio/bg.mp3';//背景音乐地址
this.bgmMusic.volume = 0.3;//音量
this.bgmMusic.onPlay(function(){
console.log('背景音乐播放中');
});
},
2、其他需要停止的page中可以设置停止
这里有个地方需要注意获取app.vue中的对象使用getApp()方法
onLoad() {
this.bgmMusic = getApp().bgmMusic;
this.bgmMusic.stop();
this.bgmMusic.onStop(()=>{
console.log('背景音乐停止了');
});
},
参考资料:
https://blog.youkuaiyun.com/weixin_45324044/article/details/108463019
https://uniapp.dcloud.io/api/media/audio-context
https://ask.dcloud.net.cn/question/79033
本文介绍了在uniapp中如何实现全局背景音乐播放,并在不同页面控制音乐的停止。在app.vue中创建内联音频上下文,并设置自动播放、循环播放等属性。当需要在其他页面停止音乐时,通过getApp()方法获取app.vue中的音乐对象并调用stop方法。同时补充了在实际使用中遇到的问题和解决方案。
3013

被折叠的 条评论
为什么被折叠?



