我正在使用具有闪回后退功能的video-js媒体播放器来动态播放和更改我正在处理的网站上的mp4视频(h.264 - 仅可用来源) .
我的问题是,每次我更改视频/源时,浏览器会占用越来越多的内存,直到内存不足并崩溃为止 . 每个浏览器都会出现问题,启用和禁用Flash播放器硬件加速 .
播放器初始化如下:
_V_.options.flash.swf = "../Scripts/ThirdParty/video-js.swf";
_V_.options.flash.iFrameMode = true; //false didn't help
_V_.players = {};
_V_("main_video", { "techOrder": ["flash", "html5"] }).ready(function () {
$.b4dvideo.videoPlayer = this;
if (!$.b4dvideo.contentInitialised) {
$.b4dvideo.contentInitialised = true;
$.b4dvideo._loadContent();
}
this.on("pause", function () {
this.posterImage.show()
});
this.on("ended", function () {
$.b4dvideo.videoPlayer.pause();
$.b4dvideo.videoPlayer.currentTime(0);
$.b4dvideo.videoPlayer.pause();
this.posterImage.show()
});
});
并改变播放器的来源
if (!$.b4dvideo.videoPlayer.paused()) {
$.b4dvideo.videoPlayer.pause();
}
$.b4dvideo.videoPlayer.currentTime(0);
$.b4dvideo.videoPlayer.pause();
$.b4dvideo.videoPlayer.src(videoPath);
$.b4dvideo.videoPlayer.play();
看起来Flash播放器将整个视频保留在内存中并且永远不会释放它 . 有什么想法吗?我甚至尝试过使用jwplayer - 同样的问题:-(
Update 1:
我还创建了一个js-fiddle演示这个问题...只需按几次播放并观看你的记忆http://jsfiddle.net/fwcJh/2/