赞
踩
1、wx.getBackgroundAudioManager :
获取全局唯一的背景音频管理器。 小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。
从微信客户端6.7.2版本开始,若需要在小程序切后台后继续播放音频,需要在 app.json 中配置 requiredBackgroundModes 属性。开发版和体验版上可以直接生效,正式版还需通过审核。
2、onUnload和onHide事件中暂停音乐的播放。
3、onShow中调用播放事件
4、在播放结束的事件中,再次播放,以达到循环播放的效果。
- <image src="{{checked?'../img/stop.png':'../img/play.png'}}" class="music {{!checked && 'circle'}}" catchtap="checkMusic"></image>
- <view catchtap="toNext" class="btn"> 去下一个页面</view>
- page {
- background-color: aliceblue;
- }
- .music {
- width: 86rpx;
- height: 86rpx;
- position: absolute;
- top: 108rpx;
- right: 10rpx;
- z-index: 99;
- }
- .circle {
- animation: cirlce 4s linear infinite;
- }
- @keyframes cirlce {
- 0% {
- transform: rotate(0deg);
- }
- 100% {
- transform: rotate(359deg);
- }
- }
- .btn {
- margin: 550rpx auto 0;
- width: 625rpx;
- height: 80rpx;
- background: linear-gradient(90deg, #dd8449 0%, #e28e74 52%, #dbb290 100%);
- border-radius: 6rpx;
- font-size: 30rpx;
- color: #fff;
- line-height: 80rpx;
- text-align: center;
- position: relative;
- overflow: hidden;
- }
- .btn:after {
- content: "";
- background: #999;
- position: absolute;
- width: 750rpx;
- height: 750rpx;
- left: calc(50% - 375rpx);
- top: calc(50% - 375rpx);
- opacity: 0;
- margin: auto;
- border-radius: 50%;
- transform: scale(1);
- transition: all 0.4s ease-in-out;
- }
-
- Page({
-
- data: {
- checked: false,
- },
-
- onShow: function () {
- this.player(wx.getBackgroundAudioManager())
- },
- checkMusic() {
- console.log(11)
- this.setData({
- checked: !this.data.checked
- })
- if (this.data.checked) {
- wx.getBackgroundAudioManager().pause();
- } else {
- this.player(wx.getBackgroundAudioManager())
- }
- },
- player(e) {
- e.title = '下次一定的音乐'
- e.src = "http://music.163.com/song/media/outer/url?id=36587407.mp3"
- //音乐播放结束后继续播放此音乐,循环不停的播放
- e.onEnded(() => {
- this.player(wx.getBackgroundAudioManager())
- })
- },
-
- // 页面卸载时候暂停播放(不加页面将一直播放)
- onUnload: function () {
- wx.getBackgroundAudioManager().stop();
- },
- // 小程序隐藏时候暂停播放(不加页面将一直播放)
- onHide() {
- wx.getBackgroundAudioManager().stop();
- },
- toNext() {
- wx.navigateTo({
- url: '/pages/jsCase/draw/index',
- })
- }
- })
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。