收藏
回答

IOS音频播放只支持m4a格式,mp3格式播放不了

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug InnerAudioContext 微信iOS客户端 7.0.10 2.10.1

https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html

回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    01-20

    你好,建议加上InnerAudioContext.onError(function callback)监听音频播放错误事件https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html

    01-20
    有用
    回复 11
    • Joker
      Joker
      01-20
      加了的
      01-20
      回复
    • 社区技术运营专员-娇华
      社区技术运营专员-娇华
      01-20回复Joker
      返回的错误信息是什么?音频链接在出现问题的手机浏览器或者微信会话里能否正常播放
      01-20
      回复
    • Joker
      Joker
      01-20回复社区技术运营专员-娇华
      开发者工具与安卓机能播放,IOS不能,也没看见报错
      01-20
      回复
    • 社区技术运营专员-娇华
      社区技术运营专员-娇华
      01-20回复Joker
      提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
      01-20
      回复
    • Joker
      Joker
      01-20
      苹果七,苹果X;7.0.10;12.4.1, 13.3.0; 

      wx.setInnerAudioOption({
          obeyMuteSwitch: false
      })

      var innerAudioContext = null;



      Page({

          /**
           * 页面的初始数据
           */
          data: {
              formatedPlayTime: '00:00',
              playStatus: true, //未播放的图片
              imgDesc: {  } 
          },
          // 音频播放
          musicStart: function(e) {
              let that = this
              this.setData({ playStatus: false })
              innerAudioContext.src = this.getSrc(that);
              console.log(this.getSrc(that))
              innerAudioContext.play();
              this.updateTime(that);
          },
          getSrc: function(that) {
              return that.data.imgDesc.src
          },
          updateTime: function(that) {
              innerAudioContext.onTimeUpdate((res) => {
                  that.setData({
                      formatedPlayTime: that.formatTime(innerAudioContext.currentTime)
                  })
              })
              if (innerAudioContext.duration.toFixed(2) - innerAudioContext.currentTime.toFixed(2) <= 0) {
                  that.setStopState(that)
              }
              innerAudioContext.onEnded(() => {
                  that.setStopState(that)
              })
          },
          canel_handover() {
              // innerAudioContext.offPause(); //取消录音暂停
              innerAudioContext.pause(); //语音暂停
              this.setData({
                  playStatus: true
              })
          },
          setStopState: function(that) {
              that.setData({
                  formatedPlayTime: "00:00",
                  playStatus: true, //图片展示为未播放
              })
              innerAudioContext.stop(); //
          },
          formatTime: (time) => {
              time = Math.floor(time);
              var m = Math.floor(time / 60).toString();
              m = m.length < 2 ? '0' + m : m;
              var s = (time - parseInt(m) * 60).toString();
              s = s.length < 2 ? '0' + s : s;
              return m + ':' + s;
          },

          /**
           * 生命周期函数--监听页面加载
           */
          onLoad: function(options) {
              let that = this
              innerAudioContext = wx.createInnerAudioContext();

              innerAudioContext.onError((res) => {
                  console.log(res.errMsg);
                  console.log(res.errCode);
              });
          },

          /**
           * 生命周期函数--监听页面隐藏
           */
          onHide: function() {
              let that = this;
              this.setStopState(that)
              innerAudioContext.destroy()
          },

          /**
           * 生命周期函数--监听页面卸载
           */
          onUnload: function() {
              let that = this;
              this.setStopState(that)
              innerAudioContext.destroy()
          },
      })
      01-20
      回复
    查看更多(6)
  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    01-20
    你好,建议加上InnerAudioContext.onError(function callback)排查下https://developers.weixin.qq.com/miniprogram/dev/api/media/audio/InnerAudioContext.html
    
    01-20
    有用
    回复
登录 后发表内容
问题标签