3

我很高兴 jwPlayer 7 在他们的 js 文件中使用了兼容的格式,我目前正在使用包括 require.js 在内的设置,并且我正在我的网站上安装一个播放器,但它显示“设置播放器时出错:缺少注册码”。

这是在模板文件中

<div id="jwPlayerWrapper"></div>
<script>
  require(['jwplayer','initJwplayer'], function(jwplayer, BackgroundJwPlayer) {
    jwplayer.key="[HereWouldBeMyKey]"; // tried this first
    var controller = new BackgroundJwPlayer('jwPlayerWrapper', jwplayer);
    controller.init();
  });
</script>

别名 jwplayer 指向从我的帐户仪表板下载的原始播放器脚本,该脚本初始化/返回 jwplayer 对象。initJwplayer 后面的文件包含 BackgroundJwPlayer 对象的 init 并在其上调用 init 函数将设置播放器。

在调用 jwplayer.setup 之前,我尝试在模板内部的 require 块以及 init 函数内部定义密钥,但都没有成功。

这是来自 initJwplayer.js

var BackgroundJwPlayer = function(target, jwplayer) {

    // jwplayer.key="[HereWouldBeMyKey]"; // tried this second

    this.containerSelector = target;
    this.jwplayer = jwplayer;

};

BackgroundJwPlayer.prototype.init = function() {
    var player = this,
        jwplayer = player.jwplayer;

    // jwplayer.key="[HereWouldBeMyKey]"; // tried this third

    // Calling new jwplayer class
    var playerInstance = jwplayer(player.containerSelector);

    playerInstance.setup({
        file: "/video/some_video.mp4",
        image: "/images/some_video_preview.jpg",
        width: 640,
        height: 360,
        title: 'Basic Video Embed',
        description: 'A video with a basic title and description!',
        mediaid: '123456'
    });
};

return BackgroundJwPlayer;

其他一切似乎都工作正常,播放器已初始化,识别和填充......只有钥匙丢失了,即使它在那里。

非常感谢任何帮助。

4

1 回答 1

4

在支持委员会的帮助下,我找到了答案。

“JW Player 中的一些(硬)编码依赖于将“jwplayer”限定为全局变量。”

在我分配密钥之前,在 require 块中添加以下代码为我解决了这个问题。

window.jwplayer = jwplayer;

快乐编码!

于 2016-02-12T11:03:10.443 回答