2

我正在使用wavesurfer在我的网页上显示歌曲波形。我正在使用以下代码 -

function setupSongwaves(songJson) {
    var songwaveid = '#song-waveform' + songJson.songid;

    var wavesurfer = WaveSurfer.create({
        container: songwaveid,
        height : 80,
        barWidth : 4,
        cursorWidth : 2,
        waveColor: 'blue',
        cursorColor: 'white',
        progressColor: 'red'
    });

    wavesurfer.on('ready', function () {
        console.log('ready');
        // wavesurfer.play();

        setTimeout(function () {
            destroyCurrentSongwaves()
        },2000);
    });

    $(document).on("destroy-songwaves", function () {
        wavesurfer.destroy();
    });

    // Hard coding song for now
    wavesurfer.load('../assets/song1.mp3');
}

function destroyCurrentSongwaves() {
    $.event.trigger({
        type: "destroy-songwaves"
    });
}

一旦wavesurfer.destroy()被调用,我就会在控制台中收到以下错误消息 -

Uncaught (in promise) DOMException: 无法关闭正在关闭或已经关闭的上下文。

事情似乎工作正常,但我每次都收到这个错误,我无法弄清楚似乎是什么问题。任何帮助,将不胜感激!

4

1 回答 1

1

尝试将 Wavesurfer 升级到当前最新版本 1.3.7,应该可以解决问题。

于 2017-04-01T22:36:55.873 回答