开发
API

InnerAudioContext.offCanplay

取消监听 onCanplay 事件。

语法

InnerAudioContext.offCanplay(callback)

参数说明

Function callback

扫码体验

请使用字节宿主APP扫码

代码示例

开发者工具中预览

<!-- index.ttml -->
<button type="primary" bindtap="create">创建音频实例</button>
<button type="primary" bindtap="play">播放</button>
<button type="primary" bindtap="offListen">取消监听 canplay</button>
<button type="primary" bindtap="destroy">销毁音频实例</button>
<!-- 创建音频实例后直接播放,监听 canplay 事件 -->
<!-- 创建音频实例后,点击取消监听,再次点击播放时则不再监听 canplay -->
// index.js
let dataUrl =
  "https://sf1-cdn-tos.douyinstatic.com/obj/microapp/frontend/sdk/0000-0001.mp3";

Page({
  onShow: function () {},
  onUnload() {
    this.innerAudioContext && this.innerAudioContext.destroy();
  },
  create() {
    let iac = tt.createInnerAudioContext();

    iac.autoplay = false;
    iac.loop = false;
    iac.obeyMuteSwitch = false;

    iac.onCanplay(() => {
      tt.showToast({ title: "音频可以播放了" });
    });

    iac.onError((err) => {
      tt.showModal({
        title: "播放出错",
        content: err.errMsg,
        showCancel: false,
      });
    });

    this.innerAudioContext = iac;
  },
  play() {
    if (this.innerAudioContext) {
      this.innerAudioContext.src = dataUrl;
      this.innerAudioContext.play();
    }
  },
  offListen() {
    if (this.innerAudioContext) {
      this.innerAudioContext.offCanplay();
      tt.showToast({ title: "取消监听 canplay" });
    }
  },
  destroy() {
    this.innerAudioContext && this.innerAudioContext.destroy();
  },
});

Bug & Tip

暂无

点击纠错
评价此篇文档