微信小程序音频播放失败: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(); //加载完毕,开始播放
     },
});
相关推荐
CYB35322 小时前
R&S 罗德与施瓦茨 R&S VTC-VTE-VTS 视频测试仪
音视频
sweetone3 小时前
夏普LCD-46LX530A液晶电视机不开机故障之小修(包含RUNTKA829WJQZ电源板实测电路图)
经验分享·音视频
美狐美颜SDK开放平台4 小时前
从采集到渲染:直播APP开发中视频美颜SDK工作原理详解
人工智能·音视频·实时音视频·美颜sdk·视频美颜sdk·美颜api
Henrii_历小海5 小时前
WhatsApp Cloud API 媒体消息全链路:上传协议、类型约束、图片/视频预处理与发送管线
音视频·媒体
对讲机数码科普6 小时前
哈尔滨对讲机无声、音量小、喇叭破音故障修复 香坊双工电子音频组件专项维保
音视频
dualven_in_csdn10 小时前
【摄像头】虚拟摄像头
音视频
小二·12 小时前
多模态RAG实战:用LangChain+Milvus打造支持图文音视频的企业级知识库
langchain·音视频·milvus
田里的水稻12 小时前
EP_局域网传输音视频的主流方案
运维·人工智能·机器人·音视频
hz5678912 小时前
手术示教及远程会诊系统一体化方案:赋能医院教学与精准诊疗
安全·音视频·实时音视频·信息与通信
潜创微科技13 小时前
ITE联阳IT6520:Type-C口进、双MIPI出,一颗芯片把PD充电+DP视频+2屏驱动全包了
音视频