小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我现在可以在接口返回数据中拿到音频地址,如何在音频不播放前获取到时长呢,求解答,(我想在进入页面就把时长渲染到页面上)
8 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
请参阅文档 wx.createInnerAudioContext: https://mp.weixin.qq.com/debug/wxadoc/dev/api/createInnerAudioContext.html
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
请官方试一下好吧
updateTime: function() {
let _this = this;
setTimeout(function(){
let duration = innerAudioContext.duration;
if (duration == 0) {
_this.updateTime();
} else {
//
}
},100);
innerAudioContext.onCanplay(this.updateTime);
这样可以获取到
不要质疑我们看文档的能力,按照楼主的意思,在播放之前获取音频长度,目前没有能实现的方法。
innerAudioContext.onCanplay(() => { console.log('音频对象:', innerAudioContext); console.log('时长:', innerAudioContext.duration); }) innerAudioContext.onTimeUpdate(() => { console.log('进度更新', innerAudioContext) console.log('时长:', innerAudioContext.duration); }) innerAudioContext.onPlay(() => { console.log('开始播放', innerAudioContext) console.log('时长:', innerAudioContext.duration); }) innerAudioContext.onStop(() => { console.log('停止播放', innerAudioContext) console.log('时长:', innerAudioContext.duration); }) innerAudioContext.onError((res) => { console.log(res.errMsg) console.log(res.errCode) })
只有onTimeUpdate 和 onStop 可以获取到时长,其他事件里面获取到的都是0
想要时长.....
哎我也需要这个。。。但是我也没有找到。。。
好的,谢谢解答,我这边现在是在录音的时候,把时长传到后台了,等到请求的时候,可以直接拿到时长并赋值
该接口只有在播放的时候才能拿到音频时长吗
你好,主要是我使用该方法后,时长为0.
const innerAudioContext = wx.createInnerAudioContext()
innerAudioContext.autoplay = true
innerAudioContext.src = 'https:xxxx.mp3'
var a = innerAudioContext.duration
console.log(a)
打印a为0,这是怎么回事,求解答
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
请参阅文档 wx.createInnerAudioContext: https://mp.weixin.qq.com/debug/wxadoc/dev/api/createInnerAudioContext.html
请官方试一下好吧
updateTime: function() {
let _this = this;
setTimeout(function(){
let duration = innerAudioContext.duration;
if (duration == 0) {
_this.updateTime();
} else {
//
}
},100);
}
innerAudioContext.onCanplay(this.updateTime);
这样可以获取到
不要质疑我们看文档的能力,按照楼主的意思,在播放之前获取音频长度,目前没有能实现的方法。
innerAudioContext.onCanplay(() => {
console.log('音频对象:', innerAudioContext);
console.log('时长:', innerAudioContext.duration);
})
innerAudioContext.onTimeUpdate(() => {
console.log('进度更新', innerAudioContext)
console.log('时长:', innerAudioContext.duration);
})
innerAudioContext.onPlay(() => {
console.log('开始播放', innerAudioContext)
console.log('时长:', innerAudioContext.duration);
})
innerAudioContext.onStop(() => {
console.log('停止播放', innerAudioContext)
console.log('时长:', innerAudioContext.duration);
})
innerAudioContext.onError((res) => {
console.log(res.errMsg)
console.log(res.errCode)
})
只有onTimeUpdate 和 onStop 可以获取到时长,其他事件里面获取到的都是0
想要时长.....
哎我也需要这个。。。但是我也没有找到。。。
好的,谢谢解答,我这边现在是在录音的时候,把时长传到后台了,等到请求的时候,可以直接拿到时长并赋值
该接口只有在播放的时候才能拿到音频时长吗
你好,主要是我使用该方法后,时长为0.
const innerAudioContext = wx.createInnerAudioContext()
innerAudioContext.autoplay = true
innerAudioContext.src = 'https:xxxx.mp3'
var a = innerAudioContext.duration
console.log(a)
打印a为0,这是怎么回事,求解答