[TOC]
# 音乐的事件
## wx.getBackgroundAudioManager() 获取后台音乐播放状态
## onPlay监听音频播放事件
## onPause监听音频暂停事件
## onStop监听音频停止事件
## onEnded监听音频自然播放至结束的事件
# 实例
## //点击控制音乐播放
```
playmusic(){
var self = this
if(this.data.isPlay){
wx.stopBackgroundAudio();
this.setData({
isPlay:false
})
}else{
//调出音乐
wx.playBackgroundAudio({
//音乐路径
dataUrl: self.data.music.url,
//音乐标题
title:self.data.music.title,
//音乐图片
coverImgUrl:self.data.music.coverImg,
})
this.setData({
isPlay:true
})
}
} ,
```
## //让页面与监听页面保持一致
```
onMusic(){
var self=this;
wx.onBackgroundAudioPlay((result)=>{
self.setData({
isPlay:true
})
})
wx.onBackgroundAudioPause((result)=>{
self.setData({
isPlay:false
})
})
wx.onBackgroundAudioStop((result)=>{
self.setData({
isPlay:false
})
})
}
```
## onLoad
```
onLoad: function (options) {
var id = options.id
var data = local.postList[id];
this.setData({
data,
music:data.music
})
this.onMusic();
},
```
## 设置isPlay的状态
```
data: {
isPlay:false
},
```
## wxml
```
<image src="{{shared?'/images/icon/share.png':'/images/icon/share-anti.png'}}" catchtap='onShare'/>
```
## 让退出当前页面(不关闭app)是音乐依然播放
* 要点 存一个变量到全局里面去
```
globalData:{
g_isPlay:false,
g_currentId:null,
}
```
`onLoad里`
```
// 进入页面退出页面音乐播放按钮一致
if (app.globalData.g_isPlay && app.globalData.g_currentId == id) {
this.setData({
isPlay: true
});
}
```
```
onMusic() {
var self = this;
wx.onBackgroundAudioPlay((result) => {
self.setData({
isPlay: true
});
app.globalData.g_isPlay = true;
app.globalData.g_currentId = self.data.postId;
});
wx.onBackgroundAudioPause((result) => {
self.setData({
isPlay: false
});
app.globalData.g_isPlay = false;
app.globalData.g_currentId = null;
});
wx.onBackgroundAudioStop((result)=>{
self.setData({
isPlay:false
});
});
},
```
- 开发环境及接口
- 0.豆瓣接口
- 1.开发环境配置
- 2.一些相关文档
- 小程序实例效果
- 第0节、TodoList
- 第一节、豆瓣相关
- 1、tabBar的配置及导航加标题
- 2、数据加载及下拉加载
- 3、加载相关
- 4、轮播
- 5、星星评分
- 第二节、音乐播放相关
- 1.点击收藏分享
- 2.音乐播放
- 初始版
- 组件版
- 组件加强版
- 3.点赞
- 点赞初级版
- 点赞第二版
- 5.左右按钮
- 6.缓存
- 第三节、补充
- 地图
- 点击拍照换图
- 扫一扫
- 小程序语法
- 第一节 、HTTP的封装
- 0.http请求
- 1.function封装
- 2.class封装http
- 3.promise封装
- 4.config地址
- 第二节、组件
- 2.组件单独设置样式
- 3.一些有意义的标签
- 4.behavior
- 5.SLOT
- 6.左右按钮
- 5.点赞组件
- 6.用户授权
- 图片按钮 如分享
- 第三节、api
- 1.页面跳转
- 获取input里的值
- 1.添加评论
- 2.搜索框
- 3. 获取input里的值
- 2.设置缓存
- 3.模态框,弹出框
- 4.分享showActionSheet
- 5.定义全局的数据
- 2. 基础知识
- 1.setData
- 2.文件结构
- 3.wxml语法
- 第一节 数据绑定
- 第二节 列表渲染
- 第三节 条件渲染
- 第四节 模板
- 第五节 事件
- 第六节 引用
- 4.wxs
- 1.文本缩进问题
- 5.小程序中遇到的wxss 问题
- 1.width100%越界问题
- 废弃的文件
- 一个完整的小程序
- 1.启动页面
- 2.yuedu轮播+封装及数据调用
- yuedu的详情页
- 3.电影
- movie-more
- web-view