微信小程序音频播放失败:TypeError: Cannot read property ‘duration‘ of undefined

报错截图

最下面这个this.setData()报错可不用理会,是this取值的问题

解决

  1. 需要播放和暂停功能时,需要把audio以及他的src放在Page外面。
  2. 不能缺少 audioCtx.onPlay() 和 audioCtx.onError()两个方法,且需要放在play()方法之前
  3. 如果在wx.createInnerAudioContext()添加了 {useWebAudioImplement:true},把它去掉。
javascript 复制代码
//需要播放暂停音频功能时,需要将这两个变量放在 Page()上面
let audioCtx=wx.createInnerAudioContext()
audioCtx.src='http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3' //填入你自己的音频链接
Page({
     data: {
          isPlay: false,
     },
     playMusic(){
          audioCtx.onPlay(()=>{
               console.log("开始播放");
          })
           audioCtx.onError((res)=>{
             wx.showToast({
                title: '音乐播放错误',
                icon: 'error',
                duration: 3000
              })
           })
           let isPlay = !this.data.isPlay //控制播放和暂停的变量
           this.setData({
                isPlay:isPlay
               })
          if(isPlay){
               audioCtx.play()
               audioCtx.loop = true;
          }else{
               audioCtx.pause()
          }
     },
     },
     onLoad() {
          this.playMusic(); //加载完毕,开始播放
     },
});
相关推荐
微咣科技19 分钟前
平台化工业AI再突破|大捷智能携手岚图汽车,打造车身焊装智能设计行业标杆
pdf·音视频
liyinchi198821 分钟前
微信小程序支付遇到“由于小程序违规,支付功能暂时无法使用” 解决办法
java·微信小程序·go
马剑威(威哥爱编程)1 小时前
【共创稿事节】HarmonyOS 7 空间音频实战:降噪、美化、变声、空间渲染的节点编排
华为·音视频·harmonyos
silianpan1 小时前
Office 文档预览 UTS 插件
android·微信小程序·harmonyos
微笑的曙光1 小时前
第三期 · 账号体系与双 Token 鉴权:让用户「无感登录,有感安全」
微信小程序
晴空蓝天2 小时前
uniapp 上传图片别裸传:我给每个上传都加了个 biz 参数
小程序·uniapp·文件上传
TK泰妞2 小时前
2026TikTok带货视频怎么做?
人工智能·prompt·音视频
晨航2 小时前
首尾帧、参考图、参考视频:想控制 AI 视频,到底该给它什么素材?
人工智能·aigc·音视频
A13345553 小时前
2026支持云盘在线播放的电视应用推荐
音视频
Black蜡笔小新3 小时前
明厨亮灶落地指南:EasyCVR如何让后厨监控如何合规上云?
安全·音视频·easycvr