require.js, AMD и отсутствующий лицензионный ключ с использованием jwPlayer 7

Как бы я ни был счастлив, что 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 для этого настроит проигрыватель.

Я попытался определить ключ внутри блока require внутри шаблона, а также внутри функции инициализации перед вызовом jwplayer.setup, оба без особого успеха.

Это из файла 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;

Все остальное вроде работает нормально, плеер инициализируется, распознается и прочее... только ключа не хватает, хотя он есть.

Любая помощь очень ценится.


person All Bits Equal    schedule 11.02.2016    source источник


Ответы (1)


Я нашел ответ с небольшой помощью совета поддержки.

«Некоторые (жесткие) коды в JW Player основаны на том, что «jwplayer» рассматривается как глобальная переменная».

Добавление следующего кода в блок require до того, как я назначу ключ, устранило эту проблему для меня.

window.jwplayer = jwplayer;

УДАЧНОГО КОДИРОВАНИЯ!

person All Bits Equal    schedule 12.02.2016
comment
Кажется, это лучший способ исправить это при работе с такой настройкой. Рад, что мои выводы могут помочь и вам. - person All Bits Equal; 04.05.2016