View a markdown version of this page

IVS 回放器 SDK:JW 回放器集成 - Amazon IVS

IVS 回放器 SDK:JW 回放器集成

本文档介绍了 Amazon Interactive Video Service (IVS) JW 播放器集成中最重要的功能。

JW 播放器集成的最新版本:1.56.0(发布说明)

开始使用

Amazon IVS 对 JW 播放器的支持是通过提供商实施的。Amazon IVS 提供程序仅在 JW 播放器的 Web 播放器上受支持。提供程序是通过脚本标签加载的,任何需要 Amazon IVS 提供程序播放的流都必须使用播放列表中的 type: 'ivs' 进行标记。Amazon IVS 支持 JW 播放器版本 8.18.4 及更高版本。

设置

在这些说明中,JW_PLAYER_DIV 为 JW 播放器实例 <div> 的名称,IVS_STREAM 是您的 IVS 播放 URL。要设置 Amazon IVS 提供程序并启用播放,请执行以下操作:

  1. 包括以下 script 标签(适用于播放器集成的最新版本;在本例中为 1.56.0):

    <script src="https://player.live-video.net/1.56.0/amazon-ivs-jw-provider.min.js"></script>
  2. 使用 ivs 类型来标记 IVS 播放列表项。将 setup() 中的 cast 值设置为 null(因为不支持 Chromecast)。

    jwplayer(JW_PLAYER_DIV).setup({ playlist: [{ file:IVS_STREAM, type: 'ivs', }] });
  3. 如果您希望引用底层 Amazon IVS 播放器进行 Amazon IVS 播放器 API 调用,或者您想要引用 Amazon IVS 特定枚举以进行回调处理,请将侦听器添加到 'providerPlayer' 事件:

    jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) { // player object has 'ivsPlayer' and 'ivsEvents' properties // ...callback code... });

示例代码

在此示例中,JW_PLAYER_LIB 是指向您的 JW 播放器库脚本的 URL,IVS_STREAM 是您的 IVS 播放 URL。

<!DOCTYPE html> <html lang="en"> <head> <script src=JW_PLAYER_LIB></script> <script src="https://player.live-video.net/1.56.0/amazon-ivs-jw-provider.min.js"></script> </head> <body> <div id='player'></div> <script> // set default values for ivsPlayer and ivsEvents var ivsPlayer = {}; var ivsEvents = {}; // define our player setup const ivsConfig = { playlist: [{ file: IVS_STREAM, type: 'ivs', }] }; jwplayer('player') .setup(ivsConfig) .on('providerPlayer', function (player) { console.log('Amazon IVS Player: ', player.ivsPlayer); console.log('Amazon IVS Player Events: ', player.ivsEvents); // store the reference to the Amazon IVS Player ivsPlayer = player.ivsPlayer; // store the reference to the Amazon IVS Player Events ivsEvents = player.ivsEvents; }); </script> </body> </html>

Events

要收听标准 JW 播放器事件,请使用 JW 播放器的开启功能。

要收听特定于 Amazon IVS 的事件,或者添加和删除 Amazon IVS Web 播放器上的事件侦听器,您必须收听 'providerPlayer' 事件来获取对 Amazon IVS 播放器的引用,然后添加侦听事件。例如:

// store a default value for ivsPlayer var ivsPlayer = {}; // store references to the Amazon IVS Player and Amazon IVS Events: jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) { ivsPlayer = player.ivsPlayer; }); // set up event listening ivsPlayer.addEventListener(event, callback); ivsPlayer.removeEventListener(event, callback);

其中 callback 是您定义的回调,event 为以下值之一:PlayerEventType、PlayerState 或 ErrorType。有关事件的更多信息,请参阅 Amazon IVS 回放器开发工具包:Web 参考。

'providerPlayer' 事件由 JW 播放器发出,并且您注册的回调将收到一个包含以下字段的对象:

字段 描述

ivsPlayer

返回底层 Amazon IVS 播放器实例。完整的 Amazon IVS 播放器 Web API 可通过此实例获得。我们建议尽可能使用基本的 JW 播放器播放 API,并且仅使用此功能访问特定于 Amazon IVS 的功能。您可能需要在 Amazon IVS 播放器实例上访问的最常见函数是 addEventListener() 和 removeEventListener()。

ivsEvents

返回带有 PlayerEventType、PlayerState 和 ErrorType 字段的对象,这些字段映射到其关联的 Amazon IVS 特定枚举。有关更多信息,请参阅 Amazon IVS 回放器开发工具包:Web 参考。

错误

对于常规 JW 播放器错误,请使用 JW 播放器的启用功能来侦听错误事件。

对于特定于 Amazon IVS 的错误,请在 Amazon IVS 播放器上侦听其自身的错误:

// set default values for ivsPlayer and ivsEvents var ivsPlayer = {}; var ivsEvents = {}; // store references to the Amazon IVS Player and Amazon IVS Events jwplayer(JW_PLAYER_DIV).on('providerPlayer', function (player) { ivsPlayer = player.ivsPlayer; ivsEvents = player.ivsEvents; }); // set up event listening: let playerEvent = ivsEvents.PlayerEventType; ivsPlayer.addEventListener(playerEvent.ERROR, callback);

回调将接收带有以下字段的对象:

字段 描述

type

错误类型。对应于 ErrorType 事件。有关更多信息,请参阅 Amazon IVS 回放器 SDK:Web 参考。

code

错误代码。

source

错误源。

message

人类可读的错误消息。

内容安全策略

Amazon IVS 提供程序 API 配置为在使用内容安全策略 (CSP) 的页面上工作。请参阅 IVS 播放器 SDK:Web 指南 中的“使用内容安全策略”章节。

限制

此提供程序不支持转换。如果您在 JW 播放器控制面板中启用了转换功能,则可以在调用 setup() 时通过将 cast 设置为 null 禁用该功能。这隐藏了转换按钮。