微信小程序音频播放失败: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(); //加载完毕,开始播放
     },
});
相关推荐
咖啡の猫14 小时前
微信小程序页面事件
微信小程序·小程序·notepad++
却道天凉_好个秋15 小时前
音视频学习(八十六):宏块
音视频·hevc·宏块·ctu
小咖自动剪辑15 小时前
AI 智能视频无损放大工具:支持超分辨率与智能补帧
人工智能·音视频·智能电视
咖啡の猫16 小时前
微信小程序网络数据请求
网络·微信小程序·小程序
object not found16 小时前
基于uniapp开发小程序自定义顶部导航栏状态栏标题栏
前端·javascript·小程序·uni-app
AI周红伟17 小时前
周红伟:2026年视频大模型第一篇,Sora 2 技术原理和技术架构,Sora2核心技术代码首次深度解析
音视频
咖啡の猫17 小时前
微信小程序案例 - 本地生活(列表页面)
微信小程序·生活·notepad++
阿甘编程点滴17 小时前
自媒体视频配音方案怎么选:从脚本到稳定输出
音视频·媒体
咖啡の猫18 小时前
微信小程序案例 - 本地生活(首页)
微信小程序·生活·notepad++
冬奇Lab18 小时前
一天一个开源项目(第2篇):Remotion - 用 React 程序化创建视频
react.js·开源·音视频