我正在尝试向mediaelement添加新功能。js。这里有一个例子
http://mediaelementjs.com/examples/?name=loop
我现在尝试实现的另一个示例是-
https://stackoverflow.com/questions/17276590/media-element-js-remaining-time-in-video
当我尝试将其添加到html文件中时,所有这些都非常有效。但在wordpress内部,这些脚本似乎没有任何效果。我已经通过wp\\u enqueue\\u scripts hook添加了脚本。此外,如果我尝试添加功能,视频播放器就会崩溃。这是我的代码:
define( \'SP_PLUGIN_URL\', plugin_dir_url( __FILE__ ) );
Class test_me{
function __construct()
{
add_action(\'wp_enqueue_scripts\', array(&$this, \'script_enquer\') );
}
function script_enquer()
{
wp_register_script(\'time_left\', SP_PLUGIN_URL . \'js/time-left.js\', array(\'jquery\', \'mediaelement\', \'wp-mediaelement\'), \'1.0\' );
wp_enqueue_script( \'time_left\' );
wp_register_script( \'add_feature\', SP_PLUGIN_URL . \'js/add_feature.js\', false, \'1.0\', true);
wp_enqueue_script( \'add_feature\');
}
}
$test = new test_me();
以下是
time-left.js
(function ($) {
// loop toggle
MediaElementPlayer.prototype.buildtimeleft = function (player, controls, layers, media){
var t = this;
$(\'<div class="mejs-time">\' +
\'<span class="mejs-timeLeft">-\' + // use − for a wider sign
(t.options.duration > 0 ?
mejs.Utility.secondsToTimeCode(t.options.duration, t.options.alwaysShowHours || t.media.duration > 3600, t.options.showTimecodeFrameCount, t.options.framesPerSecond || 25) :
((player.options.alwaysShowHours ? \'00:\' : \'\') + (player.options.showTimecodeFrameCount ? \'00:00:00\' : \'00:00\'))
) +
\'</span>\' +
\'</div>\')
// append it to the toolbar
.appendTo(controls);
//attach element we want to update to t (this) for easier access
t.timeLeft = t.controls.find(\'.mejs-timeLeft\');
// add a timeupdate event
media.addEventListener(\'timeupdate\', function () {
if (t.timeLeft && t.media.duration) {
//replace with whatever time you want to insert here
t.timeLeft.html(\'-\' + mejs.Utility.secondsToTimeCode(t.media.duration - t.media.currentTime, t.options.alwaysShowHours || t.media.duration > 3600, t.options.showTimecodeFrameCount, t.options.framesPerSecond || 25));
}
}, false);
}
})(jQuery);
add_feature.js
$(\'video\').mediaelementplayer({
features[\'playpause\',\'progress\',\'current\',\'duration\',\'timeleft\',\'tracks\',\'volume\',\'fullscren\']
});
但视频现在还没有播放。添加功能似乎会让玩家崩溃。我还尝试了取消对mediaelement的注册并手动将其排队。但同样的结果。
我就是想不出问题所在。