要求.js,AMD和使用jwPlayer 7的“缺少许可证密钥”

require.js, AMD and "missing license key" using jwPlayer 7

本文关键字:许可证 密钥 jwPlayer js AMD 要求      更新时间:2023-09-26

尽管我很高兴 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;

其他一切似乎都很好,播放器被初始化、识别和东西......只有钥匙不见了,即使它在那里。

任何帮助非常感谢。

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

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

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

window.jwplayer = jwplayer;

祝您编码愉快!