120 lines
2.8 KiB
JavaScript
120 lines
2.8 KiB
JavaScript
const app = getApp();
|
|
const util = require('../../util/util.js');
|
|
|
|
const backgroundAudioManager = xhs.getBackgroundAudioManager();
|
|
let updateInterval;
|
|
|
|
Page({
|
|
onShareAppMessage() {
|
|
return {
|
|
title: '背景音乐',
|
|
path: 'packageAPI/pages/background-audio/background-audio',
|
|
};
|
|
},
|
|
onShow() {
|
|
if (!backgroundAudioManager.paused && backgroundAudioManager.paused !== undefined) {
|
|
this._enableInterval();
|
|
this.setData({
|
|
playing: true,
|
|
});
|
|
}
|
|
},
|
|
onLoad() {
|
|
const that = this;
|
|
// 监听播放事件
|
|
backgroundAudioManager.onPlay(() => {
|
|
// 刷新播放时间
|
|
this._enableInterval();
|
|
this.setData({
|
|
pause: false,
|
|
});
|
|
});
|
|
|
|
// 监听暂停事件
|
|
backgroundAudioManager.onPause(() => {
|
|
clearInterval(updateInterval);
|
|
that.setData({
|
|
playing: false,
|
|
pause: true,
|
|
});
|
|
});
|
|
|
|
backgroundAudioManager.onEnded(() => {
|
|
clearInterval(updateInterval);
|
|
that.setData({
|
|
playing: false,
|
|
playTime: 0,
|
|
formatedPlayTime: util.formatTime(0),
|
|
});
|
|
});
|
|
|
|
backgroundAudioManager.onStop(() => {
|
|
clearInterval(updateInterval);
|
|
that.setData({
|
|
playing: false,
|
|
playTime: 0,
|
|
formatedPlayTime: util.formatTime(0),
|
|
});
|
|
});
|
|
},
|
|
|
|
data: {
|
|
playing: false, // 播放状态
|
|
pause: false,
|
|
playTime: 0, // 播放时长
|
|
formatedPlayTime: '00:00:00', // 格式化后的播放时长
|
|
},
|
|
|
|
play() {
|
|
backgroundAudioManager.title = '此时此刻';
|
|
backgroundAudioManager.epname = '此时此刻';
|
|
backgroundAudioManager.singer = '许巍';
|
|
backgroundAudioManager.coverImgUrl = 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000';
|
|
|
|
const that = this;
|
|
if (that.data.pause) {
|
|
backgroundAudioManager.play();
|
|
this.setData({
|
|
playing: true,
|
|
});
|
|
} else {
|
|
that.setData({
|
|
playing: true,
|
|
}, () => {
|
|
// 设置src后会自动播放
|
|
backgroundAudioManager.src = 'https://dldir1.qq.com/music/release/upload/t_mm_file_publish/2339610.m4a';
|
|
});
|
|
}
|
|
},
|
|
|
|
seek(e) {
|
|
backgroundAudioManager.seek(e.detail.value);
|
|
},
|
|
|
|
pause() {
|
|
clearInterval(updateInterval);
|
|
backgroundAudioManager.pause();
|
|
},
|
|
|
|
stop() {
|
|
clearInterval(updateInterval);
|
|
backgroundAudioManager.stop();
|
|
},
|
|
|
|
_enableInterval() {
|
|
const that = this;
|
|
function update() {
|
|
console.log(backgroundAudioManager.currentTime);
|
|
that.setData({
|
|
playTime: backgroundAudioManager.currentTime + 1,
|
|
formatedPlayTime: util.formatTime(backgroundAudioManager.currentTime + 1),
|
|
});
|
|
}
|
|
updateInterval = setInterval(update, 1000);
|
|
},
|
|
|
|
onUnload() {
|
|
clearInterval(updateInterval);
|
|
},
|
|
});
|