改变视频中的来源-js吃内存直到泄漏

时间:2013-05-21 08:59:59

标签: javascript flash html5-video jwplayer video.js

我正在使用带有闪回后退功能的video-js媒体播放器来动态播放和更改我正在制作的网站上的mp4-videos(h.264 - 仅限可用来源)。

我的问题是,每次我更改视频/源时,浏览器会占用越来越多的内存,直到内存不足并崩溃为止。 每个浏览器都会出现此问题,启用和禁用Flash Player硬件加速。

播放器初始化如下:

            _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 - 同样的问题: - (

更新1:

我还创建了一个js-fiddle来演示这个问题...只需按几次播放并观察你的记忆 http://jsfiddle.net/fwcJh/2/

0 个答案:

没有答案