InnerAudioContext.destroy

2020-08-26 16:27 更新

解釋:銷毀當(dāng)前實(shí)例

方法參數(shù)

示例 

在開發(fā)者工具中打開


圖片示例

代碼示例

<view class="wrap">
    <view class="card-area">
        <button type="primary" bindtap="destroy">創(chuàng)建并銷毀一個(gè)新實(shí)例</button>
    </view>
</view>
Page({
    onLoad() {
        const innerAudioContext = swan.createInnerAudioContext();
        innerAudioContext.src = 'https://b.bdstatic.com/miniapp/images/yanyuan.mp3';
        innerAudioContext.autoplay = true;
    },
    destroy() {
        // 在實(shí)際項(xiàng)目中,若一個(gè)頁面有兩種形式的語音播放,如:一個(gè)是播放語音列表里的語音,一個(gè)是預(yù)聽待提交的語音。這兩種的onPlay和onEnd回調(diào)內(nèi)部執(zhí)行的不一樣,不可能在onLoad里面用同一個(gè)回調(diào),所以需要?jiǎng)?chuàng)建兩個(gè)innerAudioContext實(shí)例對象時(shí),可在當(dāng)前音頻播放結(jié)束的onEnd的回調(diào)事件里面和音頻播放錯(cuò)誤onError回調(diào)事件里,調(diào)用destory方法銷毀該實(shí)例。
        const createInnerAudioContextTask = new Promise((resolve, reject) => {
            const innerAudioContext = swan.createInnerAudioContext();
            innerAudioContext.src = 'https://b.bdstatic.com/miniapp/images/yanyuan.mp3';
            innerAudioContext.autoplay = false;
            innerAudioContext.onEnded(() => {
                innerAudioContext.destroy();
            });
            innerAudioContext.play();
            innerAudioContext.onPlay(res => {
                resolve();
                console.log('onPlay', res);
            });
            this.innerAudioContext = innerAudioContext;
        })
        .then(destroyTask => {
            swan.showModal({
                title: 'destroy',
                content: '銷毀實(shí)例成功'
            });
            this.innerAudioContext.destroy();
        });
    }
});


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)