javascript - 覆盖 jPlayer 中的负剩余时间

标签 javascript jquery html audio jplayer

我想知道 jPlayer 插件中是否有任何方法可以覆盖 jp-duration div 中的剩余时间文本。简而言之,我只想删除分钟/秒之前的 - 。因此,我只想要 03:26,而不是 -03:26。是否有任何预构建的功能允许我执行此操作,或者是否需要编写一些自定义脚本来完成我想要做的事情?

JSFiddle

HTML

<div id="jquery_jplayer_1" class="jp-jplayer"></div>
<div id="jp_container_1" class="jp-audio" role="application" aria-label="media player">
    <div class="jp-type-single">
        <div class="jp-gui jp-interface">
            <div class="jp-volume-controls">
                <button class="jp-mute" role="button" tabindex="0">mute</button>
                <button class="jp-volume-max" role="button" tabindex="0">max volume</button>
                <div class="jp-volume-bar">
                    <div class="jp-volume-bar-value"></div>
                </div>
            </div>
            <div class="jp-controls-holder">
                <div class="jp-controls">
                    <button class="jp-play" role="button" tabindex="0">play</button>
                    <button class="jp-stop" role="button" tabindex="0">stop</button>
                </div>
                <div class="jp-progress">
                    <div class="jp-seek-bar">
                        <div class="jp-play-bar"></div>
                    </div>
                </div>
                <div class="jp-current-time" role="timer" aria-label="time">&nbsp;</div>
                <div class="jp-duration" role="timer" aria-label="duration">&nbsp;</div>
                <div class="jp-toggles">
                    <button class="jp-repeat" role="button" tabindex="0">repeat</button>
                </div>
            </div>
        </div>
        <div class="jp-details">
            <div class="jp-title" aria-label="title">&nbsp;</div>
        </div>
        <div class="jp-no-solution">
            <span>Update Required</span>
            To play the media you will need to either update your browser to a recent version or update your <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash plugin</a>.
        </div>
    </div>
</div>

JS

$(document).ready(function() {

    $("#jquery_jplayer_1").jPlayer({
        ready: function(event) {
            $(this).jPlayer("setMedia", {
                title: "Bubble",
                m4a: "http://jplayer.org/audio/mp3/Miaow-07-Bubble.mp3",
                oga: "http://jplayer.org/audio/ogg/Miaow-07-Bubble.ogg"
            });
        },
        swfPath: "http://jplayer.org/latest/dist/jplayer",
        supplied: "mp3, oga",
        wmode: "window",
        useStateClassSkin: true,
        autoBlur: false,
        smoothPlayBar: true,
        keyEnabled: true,
        remainingDuration: true,
        toggleDuration: true
    });
});                                      

最佳答案

不幸的是,负剩余时间是硬编码的,无法通过选项控制。

最简单的解决方案是下载 jPlayer latest release并修改 dist/jquery.jplayer.js 如下:

替换以下行:

durationText = (remaining > 0 ? '-' : '') + this._convertTime(remaining);

与:

durationText = this._convertTime(duration);

您可以选择缩小修改后的文件(例如 here )。

最后,您需要在页面上包含修改后的文件而不是原始版本。

关于javascript - 覆盖 jPlayer 中的负剩余时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30002194/

相关文章:

html - 检查快速隐藏的元素

javascript - 创建主题选项功能

javascript - jquery:为什么不透明动画只适用于 FF?

javascript - jQuery 不追加对象值

javascript - 在 PHP 的新选项卡中打开超链接

javascript - jQuery 选择选项跳过选项组键盘箭头

html - 如何解决 <ul> 的位置问题?

javascript - 用户在线时保持新颜色?

javascript - ajax提交 : Duplicate Entry on the database

javascript - 如何设置按钮处理程序来删除父表行?