概述:頁面內體驗客戶端 API

本主題概述頁面內體驗客戶端 API。如果您正在尋找平台 API 來創建和管理頁內體驗,請參閱概述:頁面內體驗 API .

介紹

In-Page Experiences Client API 是一個 JavaScript 庫,可幫助您在運行時管理 In-Page Experience 的行為,類似於 Brightcove Player API 用於控製播放器行為的方式。API 在運行一個或多個 Brightcove 嵌入式體驗的任何頁面上可用。它旨在幫助第 3 方進行 Brightcove 體驗集成。提供對當前播放器、視頻和狀態信息的訪問,以及播放相關事件的監聽器。

查看全文API參考有關可用方法和事件的詳細信息。

入門。

<div data-experience="5bb2134180b4990011750f06"></div>
<script src="https://players.brightcove.net/1752604059001/experience_5bb2134180b4990011750f06/live.js"></script>

獲得對體驗的引用的最簡單方法是給它一個id(在裡面div標籤)。這id可以是您喜歡的任何內容,只要它在頁面中是唯一的即可,但由於體驗 ID 本身位於腳本的 URL 中(請參閱上面代碼中突出顯示的部分),您不妨使用它:

<div data-experience="5bb2134180b4990011750f06" id="experience_5bb2134180b4990011750f06"></div>
<script src="https://players.brightcove.net/1752604059001/experience_5bb2134180b4990011750f06/live.js"></script>

現在您已準備好獲得 JavaScript 體驗的參考。請記住,體驗是在iframe,因此您無法通過父頁面中的腳本輕鬆地與它通信。相反,您需要將腳本放在自定義 HTML 塊在體驗本身。

var experience = window.top.bcov.gal.getEmbed('experience_5bb2134180b4990011750f06');

獲得對體驗的引用後,您可以從 API 調用方法。請注意,所有方法都在孩子身上clientApi目的:

var experience = window.top.bcov.gal.getEmbed('experience_5bb2134180b4990011750f06'),
experienceApi,
video,
current_video = document.getElementById('current_video'),
video_paused = document.getElementById('video_paused');

experienceApi = experience.clientApi;

// get initial video
video = experienceApi.getCurrentVideo();
current_video.textContent = video.name;

// event listeners
experienceApi.on('videoChanged', function() {
  video = experienceApi.getCurrentVideo();
  current_video.textContent = video.name;
});

experienceApi.on('videoStarted', function() {
  video_paused.textContent = 'false';
});

experienceApi.on('videoPaused', function() {
  video_paused.textContent = 'true';
});