微信小程序音频播放失败: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(); //加载完毕,开始播放
     },
});
相关推荐
音视频牛哥9 小时前
RTSP协议规范深度解析与SmartMediaKit的RTSP播放器工程实践
人工智能·计算机视觉·音视频·大牛直播sdk·rtsp播放器·超低延迟rtsp播放器·rtspplayer
sweetone14 小时前
故障现象 并非玄学——LINN(莲)MAJIK功放维修记录
经验分享·音视频
不吃鱼的猫74818 小时前
【从零手写播放器:FFmpeg 音视频开发实战】04-封装格式与多媒体容器
c++·ffmpeg·音视频
说私域21 小时前
链动2+1模式AI智能名片S2B2C商城小程序在微商信任重建中的创新应用与价值实现
大数据·人工智能·小程序·私域运营
九丝城主21 小时前
1V1音视频对话4--FLUTTER实现
flutter·音视频
qq_242188633221 小时前
微信小程序AI象棋游戏开发指南
人工智能·微信小程序·小程序
张张说点啥1 天前
能做影视级可商业视频的AI工具,Seedance 2.0 全球首发实测
人工智能·音视频
qq_433502181 天前
收集了一些免费视频背景映月素材网站分享记录
经验分享·学习·音视频·生活
予你@。2 天前
UniApp + Vue3 实现 Tab 点击滚动定位(微信小程序)
微信小程序·小程序·uni-app
大黄说说2 天前
小程序商城哪个平台好?码云数智、有赞、微盟对比
小程序