微信小程序音频播放失败: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(); //加载完毕,开始播放
     },
});
相关推荐
笨笨狗吞噬者39 分钟前
小程序包体积分析利器 -- vite-plugin-component-insight
前端·微信小程序·uni-app
chushiyunen1 小时前
obs studio软件、直播、视频录制笔记
笔记·音视频
艾为电子2 小时前
【应用方案】AI眼镜“觉醒”:艾为帝江™音频上行算法让眼镜从“工具”变“大脑”
人工智能·音视频
木斯佳2 小时前
前端八股文面经大全:字节AIDP前端一面(2026-04-13)·面经深度解析
前端·音视频·webrtc·断点续传
y小花2 小时前
dumpsys audio指令详解
android·音视频
lq12332102 小时前
FFmpeg Batch AV Converter v3.2.8 视频批量转换工具
ffmpeg·音视频
杰建云1673 小时前
小程序转化率低的核心原因是什么?
小程序·小程序制作
Likeadust3 小时前
私有化音视频系统EasyDSS助力远程办公新模式
音视频
ai产品老杨3 小时前
打破品牌壁垒:基于 GB28181 与 RTSP 协议融合的企业级视频统一接入方案
音视频
Black蜡笔小新3 小时前
国标GB28181视频平台EasyCVR设备在线却无通道?先查TCP/UDP协议设置!
tcp/ip·udp·音视频