微信小程序音频播放失败: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(); //加载完毕,开始播放
     },
});
相关推荐
IT观测1 小时前
2026年六家视频音频格式转换软件品牌深度解析:格式转化器选型指南
音视频
大学生小郑1 小时前
如何定义图像质量,如何评价图像质量
图像处理·学习·音视频·视频
TuCoder3 小时前
制作景区导览小程序时,现有手绘图是否可以复用?
小程序·智慧景区·手绘地图·景区导览·电子导览·地图制作·ebmap
南棱笑笑生4 小时前
20260422给万象奥科的开发板HD-RK3576-PI适配瑞芯微原厂的Buildroot时使用mpg123播放mp3音频
前端·javascript·音视频·rockchip
AI服务老曹4 小时前
深度解析:基于异构计算的 AI 视频管理平台架构实践
人工智能·架构·音视频
RE.nior5 小时前
2026 年 4 月 AI 视频生成模型实测:Wan 2.7、PixVerse V6、Sora 2、Seedance 2.0 谁能打
人工智能·aigc·音视频
破阵子443285 小时前
PotPlayer 基于N卡进行超分,视频秒变4K
音视频
Bruce_Liuxiaowei5 小时前
让AI帮你“看懂”文件:批量重命名、会议纪要、视频翻译全攻略
人工智能·ai·音视频·智能体·workbuddy
果粒蹬i5 小时前
把视频内容变成手绘漫画笔记?ClipSketch AI 让小红书创作省事不少
人工智能·笔记·音视频
倔强的石头1065 小时前
在家也能做 AI 导演!本地部署 Wan2.1 视频生成模型全攻略
人工智能·音视频·cpolar