【问题标题】:mediaelement.js Video Height not calculated correctlymediaelement.js 视频高度未正确计算
【发布时间】:2018-06-29 17:06:48
【问题描述】:

我将一个项目从 mediaelement.js 2.23.4 更新到 4.2.9。
我已经阅读了migrate instructions,我认为没有遗漏任何内容。
更新后视频显示不正确,因为高度计算不正确。

在 setResponsiveMode 中 t.media.videoWidth/Height 始终为 0 并且 我注意到“loadedmetadata”没有被触发。

在以前的版本中,加载的元数据被触发,然后最终设置响应模式,此时 t.media.videoWidth/Height 被设置。

我的代码如下所示:

$("video").each(function () {
                $(this).attr("preload", "metadata");
                var src = this.src;
                $(this).mediaelementplayer({
                    features          : ["playpause", "progress", "tracks"],
                    defaultVideoWidth : 480,
                    defaultVideoHeight: 270,
                    type              : 'video/flv',
                    renderers: ['html5', 'flash_video'],
                    pluginPath: 'js/',
                    classPrefix:'mejs-',
                    shimScriptAccess: 'sameDomain',
                    success           : function (e) {

                    }
                });
            });

目前我没有一个最小的示例,但我怀疑它可以用于一个干净的项目。
我的项目很复杂,我想我错过了一些东西。 有什么想法吗?

PS,唯一的问题是高度,视频被渲染。播放没有问题(例如,如果我使用开发者工具编辑元素的高度)

【问题讨论】:

    标签: mediaelement.js


    【解决方案1】:

    documentation for MediaElementJsPlayer 表示如果视频标签中没有指定高度属性,则使用 defaultVideoHeight。您的视频标签是否包含高度属性?

    您可以使用 videoHeight 配置选项为每个视频设置视频高度。另请查看拉伸选项。它的默认值为自动。您可能希望将其设置为 none,以便播放器不会自动调整大小。

    【讨论】:

    • 感谢您的回答 Nadir。不,我没有视频高度。我已经阅读了文档,并且已经看到了实际的源代码。在 2.34.3 上,在我初始化元素 ($(this).mediaelementplayer) 后,“loadedmetadata”事件被触发并且高度被设置为正确的值。我知道加载的元数据不是 100% 可靠,但在 2.34.4 上似乎没有问题
    • 您可以尝试使用 setPlayerSize 函数设置播放器高度。它允许设置播放器的宽度和高度。该函数可以在页面加载事件处理程序中调用
    猜你喜欢
    • 2011-09-30
    • 1970-01-01
    • 2011-03-28
    • 2014-08-18
    • 2014-07-19
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多