我需要计算视频的次数,但达到90%时。
那么,我怎样才能获得这个百分比或读取总时间和观看时间。
提前致谢,祝你有愉快的一天。
答案 0 :(得分:1)
以下是一些工作代码,在此示例中,我将观看视频的次数保存到localstorage。
(function($) {
$(document).ready(function() {
$('video').mediaelementplayer({
success: function (mediaElement, domObject, player) {
var duration;
var player_counted = false;
var i = 0;
//lets see that it works!
console.log(localStorage[domObject.src+'_times_watched']);
//after metadata is loaded we can access the duration
mediaElement.addEventListener('loadedmetadata', function(e) {
duration = mediaElement.duration;
});
//check if video is seen (above 90%) and increase times watched counter
mediaElement.addEventListener('timeupdate', function(e) {
if((mediaElement.currentTime / duration) >= 0.9) {
if(!player_counted) {
if (localStorage.getItem(domObject.src+'_times_watched') !== null) {
i = parseFloat(localStorage[domObject.src+'_times_watched']);
}
localStorage[domObject.src+'_times_watched'] = ++i;
player_counted = true;
}
}
}, false);
}
});
});
})(jQuery);
如果您不想使用localstorage,请将其替换 - 并保存到cookie / db或您需要的任何内容。
如果您决定使用localstorage - 您可能还想检查localstorage支持,我使用Modernizr if (Modernizr.localstorage) {
查看modernizr源代码,或者如果您不使用modernizr则搜索SO。
如果您有权访问观看视频的每个用户的某些唯一标识符(即:登录ID /电子邮件),请确保在domObject.src+'_times_watched'
之前添加该标识符,以确保在同一浏览器中为多个用户正确计数