微信小程序音频播放失败: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(); //加载完毕,开始播放
     },
});
相关推荐
揽秀亭长1 小时前
简谱生成的方法与5个工具使用
音视频
草根大哥7 小时前
AI 编程实践之自建视频CDN
音视频·webrtc·低延迟直播·视频cdn·低延迟cdn
imperialeast8 小时前
WinAXP 2.4.0.830正式版
小程序·个人开发
zhizhizhuzhuxia10 小时前
短剧出海怎么做多语言配音:从字幕擦除到声音重塑的一条流水线
音视频·声音克隆·ai配音
CRMEB系统商城10 小时前
鲜花零售的预售与积分营销
开发语言·人工智能·科技·小程序·零售
2601_9654542310 小时前
AI视频制作:做历史建筑视频,宫殿园林的老图难找,AI怎么自动配古建素材?
运维·人工智能·音视频
2601_9556624611 小时前
短视频配音怎么做?从文案到成品音频的完整流程
人工智能·音视频·语音识别·媒体·视频
沃普天科技11 小时前
100W 氮化镓充电器充电头扩展坞一体化设计,实用性翻倍
驱动开发·计算机外设·音视频·硬件工程·pcb工艺
美狐美颜sdk11 小时前
视频美颜SDK从Demo到正式商用,还需要完成哪些准备工作?
人工智能·音视频·美颜sdk·视频美颜sdk·美颜api
碧海银沙音频科技研究院11 小时前
炬芯ATS308X U 盘 MP4 音视频播放功能实现
音视频