const player = uni.createInnerAudioContext()
复制代码 // 设置播放地址开始播放
player.src = 'https://dj-cdn.g2work.com//agent/tts/7961601303971908301/0/e5ff941f.mp3'
player.onCanplay(res => {
let musicTime = Math.floor(player.duration)
console.log('视频时长===>', musicTime, player.duration) // 这里打印的this.player.duration是0
})
player.onError(res => {
console.error('播放音频失败', res)
})
player.onPlay(res => {
console.log('播放音频成功', res)
})
// 监听音频播放停止
player.onStop(res => {
console.log('监听音频播放停止', res)
})
// 监听音频自然播放结束
player.onEnded(res => {
console.log('音频自然播放结束', res)
})
// 监听音频自然播放结束
player.onSeeked(() => {
console.log('音频onSeeked')
})
player.onPause(res => {
console.log('音频被暂停', res)
})
player.play()
1 个回复
DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信
我试了一下支付宝原生小程序写法,也是正常播放、结束后无回调。你到支付宝小程序平台反馈吧。
复制代码
Page({ onLoad(query) { // 页面加载 console.info(`Page onLoad with query: ${JSON.stringify(query)}`); }, onReady() { // 页面加载完成 let player player = my.createInnerAudioContext() // 设置播放地址开始播放 player.src = 'https://dj-cdn.g2work.com//agent/tts/7961601303971908301/0/e5ff941f.mp3' player.onCanplay(res => { let musicTime = Math.floor(player.duration) console.log('视频时长===>', musicTime, player.duration) // 这里打印的this.player.duration是0 }) player.onError(res => { console.error('播放音频失败', res) }) player.onPlay(res => { console.log('播放音频成功', res) }) // 监听音频播放停止 player.onStop(res => { console.log('监听音频播放停止', res) }) // 监听音频自然播放结束 player.onEnded(res => { console.log('音频自然播放结束', res) }) // 监听音频自然播放结束 player.onSeeked(() => { console.log('音频onSeeked') }) player.onPause(res => { console.log('音频被暂停', res) }) player.play() }, });