You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.1 KiB
53 lines
1.1 KiB
const utils = {};
|
|
var audio = uni.createInnerAudioContext()
|
|
var isPause = false //是否在暂停状态
|
|
var previousSrc = '' //上一个音频的地址,如果和现在的播放地址一样就进入暂停
|
|
|
|
utils.playAudios = function (src) {
|
|
if(isPause){ //在暂停状态
|
|
if(previousSrc == src){
|
|
audio.play()
|
|
}else{
|
|
audio.stop()
|
|
audio.src = src
|
|
previousSrc = src
|
|
audio.onCanplay(()=> {
|
|
audio.play()
|
|
})
|
|
}
|
|
}else{ //不在暂停状态
|
|
if(previousSrc == src){
|
|
audio.pause()
|
|
isPause = true
|
|
}else{
|
|
audio.stop()
|
|
audio.src = src
|
|
previousSrc = src
|
|
audio.onCanplay(()=> {
|
|
audio.play()
|
|
})
|
|
}
|
|
}
|
|
}
|
|
utils.stopAudios = function () {
|
|
audio.stop()
|
|
}
|
|
utils.pauseAudios = function () {
|
|
audio.pause()
|
|
}
|
|
|
|
audio.onPlay(() => { //播放监听事件
|
|
console.log('开始播放');
|
|
isPause = false
|
|
});
|
|
audio.onPause(() => {//暂停监听
|
|
console.log('暂停');
|
|
isPause = true
|
|
});
|
|
|
|
audio.onEnded(() => {// 自然播放结束监听也需要更改isPause 开关状态
|
|
console.log('音频自然播放结束事件');
|
|
isPause = true
|
|
});
|
|
|
|
export default utils
|