微信小程序音频播放失败: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(); //加载完毕,开始播放
     },
});
相关推荐
2601_957879338 小时前
短视频矩阵的数据驱动运营:从流量监测到内容迭代的完整技术链路
大数据·矩阵·音视频
Tech-Net12 小时前
推特视频怎么下载?2026最新X(Twitter)视频下载教程
经验分享·音视频·工具·视频处理·视频下载·视频下载工具·推特视频下载
潜创微科技13 小时前
IT6635+USB 芯片:4 进 1 出 4K@60Hz 高性能 KVM 切换器一站式方案
嵌入式硬件·音视频
L、21814 小时前
CANN ops-audio 仓库详解:昇腾NPU上的音频处理算子与语音识别优化
人工智能·音视频·语音识别
咖啡八杯14 小时前
微信小程序人脸认证1.0迁移2.0
后端·微信小程序
xshirleyl14 小时前
微信小程序开发week8-慕尚花坊项目
微信小程序·小程序
刘布斯yy15 小时前
新写了个直播录制工具,可录制抖音快手斗鱼直播
rust·音视频·直播录制
2601_9578885615 小时前
短视频矩阵系统的AI调度引擎架构解析:从多平台API到智能分发的技术实现
人工智能·矩阵·音视频
admin and root17 小时前
Claude+Trae大模型 配置Chrome MCP联动Yakit自动化渗透测试
微信小程序·渗透测试·自动化·攻防演练·ai安全·claude code·ai自动化渗透测试
水上冰石17 小时前
ComfyUI集成InfiniteTalk工作流,实现宠物主播视频生成
音视频·宠物