Jwplayer - 错误:jwplayer(...).setup 不是函数

Har*_*mer 3 jwplayer angularjs ng-dialog

我必须在弹出窗口中显示 jwplayer,对于弹出窗口我使用 ngDialog(angular),ngDialog 的代码如下:

$scope.showVideoPlayerPopup = function(video_path)
{
    $scope.ngDialog = ngDialog;
            ngDialog.open({
                animation: true,
                scope:$scope,
                template:'<div id="video_popup"></div>',
                plain: true,
                //className: 'ngdialog-theme-default',
                closeByDocument: true
                //backdrop : 'static'
            });
        playVideo(video_path);
}
Run Code Online (Sandbox Code Playgroud)

上面调用的播放视频函数包含jwplayer的代码,如下:

<script>
    function playVideo(video_path)
    {
        jwplayer("video_popup").setup({
            file: video_path,
            width: "600px",
            height: "600px",
            stretching: "bestfit",
        });
    }

</script>
Run Code Online (Sandbox Code Playgroud)

当我对没有弹出窗口的简单 html 代码使用相同的 jwplayer 代码时,它工作正常,但我尝试将我的 html 放入弹出窗口中,它给了我以下错误:

错误:jwplayer(...).setup 不是函数

更新

我包含的文件:

<script src="https://content.jwplatform.com/libraries/qAkRysIB.js"></script>
Run Code Online (Sandbox Code Playgroud)

Sᴀᴍ*_*ᴇᴌᴀ 5

  1. 确保包含 jwplayer src (您可能已经这样做了,但以防万一:)

    更新 11/2021

    请参阅文档页面添加播放器库上的云托管部分。这将需要获得 JWPlayer 帐户

    1. “播放器下载和密钥”页面,向下滚动到“云托管播放器库”部分。

    2. “云托管播放器库”部分中,从下拉菜单中选择一个播放器标题。

    3. 复制云播放器库 URL

    4. <head>页面中,将 URL 复制并粘贴到播放器库。

      <script src="{cloud_hosted_player_library_url}"></script>
      
      Run Code Online (Sandbox Code Playgroud)
  2. 在调用该函数之前确保面板已加载setupngDialog.opened一种方法是从 ngDialog注册一个事件监听器(请参阅ngDialog 自述文件事件部分):

    $scope.$on('ngDialog.opened', function (e, $dialog) {
      playVideo();
    });
    
    Run Code Online (Sandbox Code Playgroud)