微信小程序音频播放失败: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(); //加载完毕,开始播放
     },
});
相关推荐
今夕资源网3 分钟前
VSE硬字幕提取工具 Video subtitle extractor 视频生成srt字幕文件 含详细使用方法
音视频·视频生成字幕·视频生成srt·srt字幕文件·视频硬字幕提取·硬字幕提取·字幕文件提取
inksci4 分钟前
推荐动态群聊二维码制作工具
前端·javascript·微信小程序
郑州光合科技余经理2 小时前
海外O2O系统源码剖析:多语言、多货币架构设计与二次开发实践
java·开发语言·前端·小程序·系统架构·uni-app·php
CHU72903510 小时前
定制专属美丽时刻:美容预约商城小程序的贴心设计
前端·小程序
中议视控11 小时前
RTSP和RTSM编码推送软件让中控系统控制实现可视化播控
网络·分布式·物联网·5g·音视频
愚公搬代码16 小时前
【愚公系列】《剪映+DeepSeek+即梦:短视频制作》025-字幕:用文字来美化画面(添加字幕)
音视频
hnxaoli16 小时前
统信小程序(十)nutika打包elf格式程序
小程序
CHU72903516 小时前
家门口的邻里集市:社区团购小程序的功能探索
小程序
hnxaoli17 小时前
统信小程序(十一)快捷地址栏
linux·python·小程序
EasyCVR17 小时前
安防监控/视频存储/云存储平台EasyCVR全场景智能视频监控解决方案深度解析
音视频