增加音乐,摇一摇,服务等页面
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
/* #ifdef H5 */
|
||||
const bgAudioManager = uni.createInnerAudioContext();
|
||||
/* #endif */
|
||||
/* #ifdef APP-PLUS */
|
||||
const bgAudioManager = uni.getBackgroundAudioManager();
|
||||
/* #endif */
|
||||
bgAudioManager.autoplay = false;
|
||||
|
||||
|
||||
function initPlayer(that){
|
||||
if(that.currentPlaySong){
|
||||
that.$u.vuex("currentPlayer",{
|
||||
playState:false,
|
||||
progress:0,
|
||||
musicId:that.currentPlaySong.id,
|
||||
});
|
||||
bgAudioManager.title = that.currentPlaySong.songName;
|
||||
bgAudioManager.singer = that.currentPlaySong.artist;
|
||||
bgAudioManager.coverImgUrl = that.currentPlaySong.pic;
|
||||
bgAudioManager.src = that.currentPlaySong.playSrc;
|
||||
console.log("播放器初始化完成");
|
||||
bindOnControllerPlay(that);
|
||||
}
|
||||
}
|
||||
|
||||
function bindOnControllerPlay(that){
|
||||
let playState=that.currentPlayer.playState;
|
||||
console.log("that.currentPlayer.progress",that.currentPlayer.progress);
|
||||
if(playState){
|
||||
bgAudioManager.pause();
|
||||
}else{
|
||||
if(that.currentPlayer.canPlay==false){
|
||||
initPlayer(that);
|
||||
return;
|
||||
}else{
|
||||
bgAudioManager.play();
|
||||
that.$u.vuex("currentPlayer.canPlay",true);
|
||||
}
|
||||
}
|
||||
playState=!playState;
|
||||
console.log("当前播放状态===",playState);
|
||||
that.$u.vuex("currentPlayer.playState",playState);
|
||||
that.$u.vuex("currentPlayer.canPlay",true);
|
||||
bgAudioManager.onTimeUpdate((e) => {
|
||||
let progress = (bgAudioManager.currentTime / bgAudioManager.duration) * 100;
|
||||
if (progress) {
|
||||
that.$u.vuex("currentPlayer.progress",progress);
|
||||
}
|
||||
});
|
||||
bgAudioManager.onError(()=>{
|
||||
resetPlayer(that);
|
||||
});
|
||||
bgAudioManager.onEnded(() => {
|
||||
resetPlayer(that);
|
||||
});
|
||||
}
|
||||
|
||||
function resetPlayer(that,player){
|
||||
bgAudioManager.stop();
|
||||
that.$u.vuex("currentPlayer.playState",false);
|
||||
that.$u.vuex("currentPlayer.progress",0);
|
||||
that.$u.vuex("currentPlayer.canPlay",false);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
initPlayer,
|
||||
bindOnControllerPlay,
|
||||
resetPlayer,
|
||||
bgAudioManager
|
||||
}
|
||||
Reference in New Issue
Block a user