首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wavesurfer.js中的停止循环属性

wavesurfer.js中的停止循环属性
EN

Stack Overflow用户
提问于 2022-08-02 15:00:09
回答 1查看 101关注 0票数 0

我在我的新项目中使用wavesurfer.js(来源链接)它有一些方法可用于媒体播放器中的后向/前向。方法:skip()、skipBackward()、skipForward()

问题是,当您在最后一刻使用skip()/skipForward()时,在媒体结束之前,它从一开始就重新开始。我要在比赛结束时停止比赛。我不想要那个循环属性。我已经查过文件了。那里也什么都没有。它没有循环选项使其为假!

文档页:https://wavesurfer-js.org/docs/

EN

回答 1

Stack Overflow用户

发布于 2022-08-03 19:18:03

这是我的密码:

(在本地主机上尝试它,因为CORS策略:无访问控制-允许-原产地错误)

代码语言:javascript
复制
// WaveSurfer Create Method
var WaveSurferElement = WaveSurfer.create({
    container: '#wavesurfer',
    waveColor: '#000068',
    progressColor: '#9f5000',
    skipLength: 5,
    cursorWidth: 2,
    barWidth: 3,
    barRadius: 3,
    barGap: 3,
});

// WaveSurfer Load Method
WaveSurferElement.load('../files/example.mp3');

// WaveSurfer Ready Event
WaveSurferElement.on('ready', function () {
    // Enable Buttons
    $('#play-btn,#forward-btn,#backward-btn').prop('disabled', false);
});

// WaveSurfer Play Event
WaveSurferElement.on('play', function () {
    $('#play-btn').find('.icon').removeClass('fa-play').addClass('fa-pause');
    $('#play-btn').attr('title', 'Pause');
    $('#play-btn').attr('id', 'pause-btn');
});

// WaveSurfer Pause Event
WaveSurferElement.on('pause', function () {
    $('#pause-btn').find('.icon').removeClass('fa-pause').addClass('fa-play');
    $('#pause-btn').attr('title', 'Play');
    $('#pause-btn').attr('id', 'play-btn');
});

// Play Button Action
$(document).on('click', '#play-btn', function () {
    WaveSurferElement.play();
});

// Pause Button Action
$(document).on('click', '#pause-btn', function () {
    WaveSurferElement.pause();
});

// Forward Button Action
$(document).on('click', '#forward-btn', function () {
    WaveSurferElement.skipForward();
});

// Backward Button Action
$(document).on('click', '#backward-btn', function () {
    WaveSurferElement.skipBackward();
});
代码语言:javascript
复制
body {
    direction: rtl;
}

.player-section {
    position: relative;
    width: 500px;
    height: 350px;
    background: linear-gradient(180deg, #000000 0%, #ff8100 50%, #000000 100%);
    margin: 20px auto;
    padding: 10px;
    border-radius: 8px;
}

.player-section .player {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(255 255 255 / 70%);
    border-radius: 8px;
}

.player-section .player,
.player-section .action {
    box-shadow: 0 0 3px 0 #000000;
}

.player-section .player .wavesurfer {
    margin-top: 90px;
}

.player-section .action {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    text-align: center;
    background-color: rgb(0 0 0 / 70%);
    border-radius: 0 0 8px 8px;
}

.player-section .action .btn {
    width: 150px;
    height: 40px;
    background-color: white;
    font-family: Arial;
    font-size: 18px;
    border: 0;
    margin: 10px 5px;
    border-radius: 8px;
    text-transform: uppercase;
}

.player-section .action .btn.play-btn {
    width: 40px;
    border-radius: 3px;
}

.player-section .action .btn.forward-btn .icon {
    margin-left: 3px;
}

.player-section .action .btn.backward-btn .icon {
    margin-right: 3px;
}

.player-section .action .btn:hover {
    opacity: 80%;
    cursor: pointer;
}
代码语言:javascript
复制
<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>WAVESURFER.JS</title>
        <!-- Styles -->
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css">
        <!--/Styles -->
    </head>
    <body>
        <div class="player-section">
            <div class="player">
                <div class="wavesurfer" id="wavesurfer"></div>
            </div>
            <div class="action">
                <button class="btn forward-btn" id="forward-btn" title="Forward" disabled>
                    <i class="icon fa-solid fa-forward-fast"></i><span>Forward</span>
                </button>
                <button class="btn play-btn" id="play-btn" title="Play" disabled>
                    <i class="icon fa-solid fa-play"></i>
                </button>
                <button class="btn backward-btn" id="backward-btn" title="Backward" disabled>
                    <span>Backward</span><i class="icon fa-solid fa-backward-fast"></i>
                </button>
            </div>
        </div>
        <!-- Scripts -->
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/wavesurfer.js/6.2.0/wavesurfer.min.js"></script>
        <!--/Scripts -->
    </body>
</html>

正如我所说的,问题在于媒体何时即将结束,例如:关于演奏的波形

然后单击前进按钮,它跳到第一个媒体)示例:前进后波

因此,在这种情况下,我想暂停媒体&保持播放光标在最后。(或者停止)我不需要循环。我能做什么?!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73209725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档