微信小程序音频播放失败: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(); //加载完毕,开始播放
     },
});
相关推荐
爱勇宝8 小时前
上线 20 多天后,我才发现小程序的图片上传一直不可用
微信小程序·智能小程序
2601_9567436810 小时前
上海小程序开发公司:本地优质厂商名录与源码私有化技术分析
小程序·开发经验·上海
山顶夕景11 小时前
【MAE】音频自监督训练Masked Autoencoders that Listen
音视频·ssl·多模态·自监督·mae
小码哥06811 小时前
短视频后台系统架构设计与行业应用深度分析-源码-技术支持
系统架构·音视频·短视频后台·短剧后台·微剧后台
小猴子爱上树13 小时前
TikTok Shop视频自动翻译工具实战教程
人工智能·python·音视频·机器翻译
mzy800014 小时前
AI漫剧视频生成项目——kimi自检
音视频
科技小刘c15 小时前
接单做小程序,我算了笔省下的时间账
小程序
中微极客16 小时前
视频Agent:从一次性生成到多轮编排架构
人工智能·架构·音视频
霸道流氓气质16 小时前
视频预览链路三件套:ZLMediaKit · MediaMTX · FFmpeg 完全指南
ffmpeg·音视频
霸道流氓气质17 小时前
摄像头视频预览实现教程:从原理到落地(ZLMediaKit+ flv.js+ Spring Boot)
javascript·spring boot·音视频