# @brightcove/player-loader 中文文档

规范地址：https://npmcn.com/package/%40brightcove/player-loader/

版本：1\.8\.1
npm 元数据更新时间：2026-11-05T21:27:25.182Z
中文译文更新时间：2026-11-08T15:16:39.361Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40brightcove/player-loader
原文对照：https://npmcn.com/package/%40brightcove/player-loader/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：435 kB，25 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2018-07-23T20:57:06.378Z
- 最新版本发布：2025-10-15T16:03:25.216Z
- 近 30 天下载量：256831（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：16（近 12 个月 0 个）

## 中文简介

Brightcove玩家的同步脚本加载器.

## 安装

```sh
npm install @brightcove/player-loader
```

也可以使用：`pnpm add @brightcove/player-loader`、`yarn add @brightcove/player-loader`、`bun add @brightcove/player-loader`

## README

# 亮湾玩家加载器

[![Build Status](https://travis-ci.org/brightcove/player-loader.svg?branch=master)](https://travis-ci.org/brightcove/player-loader) [![Greenkeeper badge](https://badges.greenkeeper.io/brightcove/player-loader.svg)](https://greenkeeper.io/)

[![NPM](https://nodeico.herokuapp.com/@brightcove/player-loader.svg)](https://npmjs.com/package/@brightcove/player-loader)

Brightcove玩家的同步脚本加载器.

**目录** _生成方式 [DocTOC 文档](https://github.com/thlorenz/doctoc)_

-   [许可证](https://npmcn.com/package/%40brightcove/player-loader/#readme-license)
-   [我为什么要这图书馆?](https://npmcn.com/package/%40brightcove/player-loader/#readme-why-do-i-need-this-library)
    -   [Blightcove 玩家支持](https://npmcn.com/package/%40brightcove/player-loader/#readme-brightcove-player-support)
    -   [浏览器支持](https://npmcn.com/package/%40brightcove/player-loader/#readme-browser-support)
-   [安装](https://npmcn.com/package/%40brightcove/player-loader/#readme-installation)
-   [包含](https://npmcn.com/package/%40brightcove/player-loader/#readme-inclusion)
    -   [ES6模块(例如:滚出、Webpack)](https://npmcn.com/package/%40brightcove/player-loader/#readme-es6-modules-eg-rollup-webpack)
    -   [普通JS( 如浏览器)](https://npmcn.com/package/%40brightcove/player-loader/#readme-commonjs-eg-browserify)
    -   [AMD(例如要求JS)](https://npmcn.com/package/%40brightcove/player-loader/#readme-amd-eg-requirejs)
    -   [`<script>` 标记](https://npmcn.com/package/%40brightcove/player-loader/#readme-script-tag)
-   [使用量](https://npmcn.com/package/%40brightcove/player-loader/#readme-usage)
    -   [实例](https://npmcn.com/package/%40brightcove/player-loader/#readme-examples)
    -   [已存在的玩家](https://npmcn.com/package/%40brightcove/player-loader/#readme-pre-existing-players)
    -   [避免下载](https://npmcn.com/package/%40brightcove/player-loader/#readme-avoiding-downloads)
    -   [使用承诺或召回](https://npmcn.com/package/%40brightcove/player-loader/#readme-use-of-promises-or-callbacks)
        -   [成绩](https://npmcn.com/package/%40brightcove/player-loader/#readme-success)
        -   [失败](https://npmcn.com/package/%40brightcove/player-loader/#readme-failure)
    -   [正在清理](https://npmcn.com/package/%40brightcove/player-loader/#readme-cleaning-up)
    -   [参数](https://npmcn.com/package/%40brightcove/player-loader/#readme-parameters)
        -   [`accountId`\* 联合国](https://npmcn.com/package/%40brightcove/player-loader/#readme-accountid%5C)
        -   [`adConfigId`](https://npmcn.com/package/%40brightcove/player-loader/#readme-adconfigid)
        -   [`applicationId`](https://npmcn.com/package/%40brightcove/player-loader/#readme-applicationid)
        -   [`catalogSearch`](https://npmcn.com/package/%40brightcove/player-loader/#readme-catalogsearch)
        -   [`catalogSequence`](https://npmcn.com/package/%40brightcove/player-loader/#readme-catalogsequence)
        -   [`deliveryConfigId`](https://npmcn.com/package/%40brightcove/player-loader/#readme-deliveryconfigid)
        -   [`embedId`](https://npmcn.com/package/%40brightcove/player-loader/#readme-embedid)
        -   [`embedOptions`](https://npmcn.com/package/%40brightcove/player-loader/#readme-embedoptions)
            -   [`embedOptions.pip`](https://npmcn.com/package/%40brightcove/player-loader/#readme-embedoptionspip)
            -   [`embedOptions.playlist`](https://npmcn.com/package/%40brightcove/player-loader/#readme-embedoptionsplaylist)
            -   [`embedOptions.responsive`](https://npmcn.com/package/%40brightcove/player-loader/#readme-embedoptionsresponsive)
            -   [`embedOptions.tagName`](https://npmcn.com/package/%40brightcove/player-loader/#readme-embedoptionstagname)
            -   [`embedOptions.unminified`](https://npmcn.com/package/%40brightcove/player-loader/#readme-embedoptionsunminified)
        -   [`embedType`](https://npmcn.com/package/%40brightcove/player-loader/#readme-embedtype)
        -   [`onEmbedCreated`](https://npmcn.com/package/%40brightcove/player-loader/#readme-onembedcreated)
        -   [`onFailure`](https://npmcn.com/package/%40brightcove/player-loader/#readme-onfailure)
        -   [`onSuccess`](https://npmcn.com/package/%40brightcove/player-loader/#readme-onsuccess)
        -   [`options`](https://npmcn.com/package/%40brightcove/player-loader/#readme-options)
        -   [`playerUrl`](https://npmcn.com/package/%40brightcove/player-loader/#readme-playerurl)
        -   [`playerId`](https://npmcn.com/package/%40brightcove/player-loader/#readme-playerid)
        -   [`playlistId`](https://npmcn.com/package/%40brightcove/player-loader/#readme-playlistid)
        -   [`playlistVideoId`](https://npmcn.com/package/%40brightcove/player-loader/#readme-playlistvideoid)
        -   [`poster`](https://npmcn.com/package/%40brightcove/player-loader/#readme-poster)
        -   [`Promise`](https://npmcn.com/package/%40brightcove/player-loader/#readme-promise)
        -   [`refNode`\* 联合国](https://npmcn.com/package/%40brightcove/player-loader/#readme-refnode%5C)
        -   [`refNodeInsert`](https://npmcn.com/package/%40brightcove/player-loader/#readme-refnodeinsert)
        -   [`videoId`](https://npmcn.com/package/%40brightcove/player-loader/#readme-videoid)
    -   [常数](https://npmcn.com/package/%40brightcove/player-loader/#readme-constants)
    -   [基础 URL](https://npmcn.com/package/%40brightcove/player-loader/#readme-base-url)

## 许可证

Apache-0. 版权 (c) Blightcove, Inc.

虽然这个库,即 Blightcove Player Loader, 拥有开源许可证并可以自由使用 [亮湾玩家](https://www.brightcove.com/en/player) (c) Brightcove股份有限公司.

同样,所有文件都在 `vendor/` 不属于Apache -2.0许可证。 相反,它们受专有的Brightcove软件许可证管辖,是版权(c)Brightcove股份有限公司.

## 我为什么要这图书馆?

每个闪光湾玩家都是为我们客户建造的,并通过我们的CDN服务. 这对大多数传统网站都大有裨益,在模板中加入嵌入码或CMS是直截了当的,特别是对非开发者而言!

然而,随着网络向ES模块移动,以及我们更技术的客户采用现代的构建工具,许多用户并不想要复制/粘贴嵌入码. 他们想要一个模块,他们可以捆绑入他们的网络应用,而不需要写出大量集成代码来下载他们的玩家并嵌入.

这个工具旨在通过提供我们自己的库来解决这个问题,该库可以下载任何已出版的布莱特科玩家并嵌入到DOM中.

### Blightcove 玩家支持

目前,此库支持 Blightcove Players v6.0.0并更高.

这个 _可能_ 为一些配置中的 v5.x 玩家工作, 但这不是一个支持的用例 .

### 浏览器支持

这个库支持常见的常绿浏览器-克罗梅,Firefox,Edge,Safari-和IE11. 早期的IE版本为: _没有_ 已支持.

## 安装

```sh
npm install --save @brightcove/player-loader
```

## 包含

要在您的网站或网络应用程序中包含 Blightcove Player loader, 请使用以下任何方法 .

### ES6模块(例如:滚出、Webpack)

这是最现代的用例.

```js
import brightcovePlayerLoader from '@brightcove/player-loader';

brightcovePlayerLoader();
```

### 普通JS( 如浏览器)

当使用普通JS或浏览器时,安装 `@brightcove/player-loader` 通过 npm 和 `require` 与您一样的库 :

```js
var brightcovePlayerLoader = require('@brightcove/player-loader');

brightcovePlayerLoader();
```

### AMD(例如要求JS)

> **注:** 使用其中之一 `dist/brightcove-player-loader.js` 或者说 `dist/brightcove-player-loader.min.js`。无论哪种情况,全球变量 `brightcovePlayerLoader` 将被创建.

使用 RequestJS( 或另一个 AMD 库) 时, 以您喜欢的方式获取脚本 `require` 通常情况下,图书馆:

```js
require(['@brightcove/player-loader'], function(brightcovePlayerLoader) {
  brightcovePlayerLoader();
});
```

### `<script>` 标记

> **注:** 使用其中之一 `dist/brightcove-player-loader.js` 或者说 `dist/brightcove-player-loader.min.js`。无论哪种情况,全球变量 `brightcovePlayerLoader` 将被创建.

这是最简单的案例。 以任何你喜欢的方式获取剧本,并包含:

```html
<script src="//path/to/@brightcove/brightcove-player-loader.min.js"></script>
<script>
  brightcovePlayerLoader();
</script>
```

## 使用量

> 注意: 如果您想用 React 来使用, 我们有一个正式的反应组件叫做 [@ brightcove/ react-player-loader (英语)](https://www.npmjs.com/package/@brightcove/react-player-loader)

"明亮之地"玩家加载器暴露出单一功能. 此函数使用一个参数对象来描述它应该加载并返回的玩家 `Promise` 当玩家被装入并创建时解析,如果失败,则解析.

### 实例

这是一个最小的例子,只使用所需的参数,它将加载视频云账户的默认播放器:

```js
brightcovePlayerLoader({
  refNode: someElement,
  accountId: '123456789'
});
```

这是一个比较完整的示例,使用一些可选参数并处理返回的 `Promise`数字 :

```js
brightcovePlayerLoader({
  refNode: someElement,
  refNodeInsert: 'replace',
  accountId: '123456789',
  playerId: 'AbCDeFgHi',
  embedId: 'default',
  videoId: '987654321'
})
  .then(function(success) {
    // The player has been created!
  })
  .catch(function(error) {
    // Player creation failed!
  });
```

### 已存在的玩家

这个库会试图检测页面上原有的玩家. 换句话说,如果这个库在更早的DOM中包含一个布莱特科玩家脚本之后运行,它会探测到它并阻止同一玩家的额外下载. 例如:

```
<div id="player-container"></div>
<script src="https://players.brightcove.net/123456789/default_default/index.min.js"></script>
<script src="path/to/brightcove-player-loader.js"></script>
<script>

  // This will create a player in #player-container, but will not download
  // the player script a second time!
  brightcovePlayerLoader({
    refNode: '#player-container',
    accountId: '123456789'
  });
</script>
```

然而,这种行为是有局限性的. 同一页上单独账户的玩家无法保证被正确检测出. _这被视为不支持的用例 ._

### 避免下载

使用时 [相关的网络包插件](https://github.com/brightcove/player-loader-webpack-plugin),您可以利用玩家加载器的嵌入创建能力,同时避免额外的同步请求,将您的"亮子"玩家捆绑入您的网页包.

简单地同时配置库和您的播放器应该捆绑,不再同步下载 .

### 使用承诺或召回

默认情况下, 此库将寻找全局 `Promise`然而,您可以明确提供 `Promise` b. 通过执行《公约》 `Promise` 参数 :

```js
brightcovePlayerLoader({
  refNode: someElement,
  accountId: '123456789',
  playerId: 'AbCDeFgHi',
  Promise: MyCustomPromise
})
  .then(function(success) {
    // The player has been created!
  })
  .catch(function(error) {
    // Player creation failed!
  });
```

承诺不需要这个图书馆工作,而是被推荐. 唯一不支持的主要浏览器 `Promise` 本土为IE11. 我们建议多填充 `window.Promise` 构造器,如果它不存在.

在没有的情况下 `Promise` global 存在, 但没有提供, Brightcove 玩家加载器将返回 `undefined`。有可用的回调,可以使用,而不是 `Promise` - 通过它们会阻止 `Promise` 从被返回时返回 :

```js
brightcovePlayerLoader({
  refNode: someElement,
  accountId: '123456789',
  onSuccess: function(success) {
    // The player has been created!
  },
  onFailure: function(error) {
    // Player creation failed!
  }
});
```

> **注:** 提供这些回调意味着选择完全放弃承诺。 没有 `Promise` 对象将返回 !

#### 成绩

解决 `Promise`s 或 (简体中文) `onSuccess` 召回,一个单一的参数会被通过. 此“ 成功对象” 可具有以下属性 :

| 财产 | 说明 |
| --- | --- |
| `type` | 无论是 `'in-page'` 或者说 `'iframe'`,描述所创建的嵌入类型. |
| `ref` | 分配给该属性的价值类型将因下列因素而异: `type`用于 `'in-page'` 嵌入,这将是一个 [视频.js 玩家对象](http://docs.videojs.com/player) 用于 `'iframe'` 嵌入,这将是 `<iframe>` DOM元素. |

#### 失败

被拒绝 `Promise`s 或 (简体中文) `onFailure` 召回,一个单一的参数会被通过. 这将是本地人 `Error` 对象为 a `message` 描述出了什么问题.

### 正在清理

Blightcove Player将创建全局变量并添加到DOM中的元素. 这个图书馆揭露了一个 `reset()` 函数,可以重设该状态。 将它称为具有以下效果:

-   它会删除 _全部_ `script` 此库创建的标签并清除其内部记录中装入的文件.
-   它会处理的 _全部_ 页面上的 Blightcove 或 Video.js 玩家.
-   它会删除 _全部_ `bc` 财务报告和审定财务报表 `videojs` 属性.

```js
brightcovePlayerLoader({
  refNode: someElement,
  refNodeInsert: 'replace',
  accountId: '123456789',
  playerId: 'AbCDeFgHi',
  embedId: 'default',
  videoId: '987654321'
})
  .then(function(success) {

    /*
      At this point:
      - at least one video player will be in the DOM.
      - at least one script created by this library will be in the DOM.
      - window.bc will exist.
      - window.videojs will exist.
     */

     brightcovePlayerLoader.reset();

    /*
      At this point:
      - no video players will be in the DOM.
      - no scripts created by this library will be in the DOM.
      - window.bc will not exist.
      - window.videojs will not exist.
     */
  });
```

这个 `reset()` 函数在长寿网页中可以有用,例如单页应用程序和相类似. 由执行者来决定他们是否仅需要处置其玩家,或完全重设布莱特科夫提供的功能.

### 参数

下面是所有可以被传递到布莱克科夫玩家加载器功能的参数. 所需参数以星号(\*)标出.

参数 _必须_ 被传递为对象.

#### `accountId`\* 联合国

-   **需求**
-   _类型 :_ `string` | `number`

视频云账户ID.

#### `adConfigId`

-   _类型 :_ `string`

这个 [视频云SSAI 附加配置 ID](https://support.brightcove.com/video-cloud-ssai-ad-config-api) 用于生成嵌入体.

#### `applicationId`

-   _类型 :_ `string`

这个 [应用程序标识](https://support.brightcove.com/adding-application-id-player-embed-code) 用于生成嵌入体.

#### `catalogSearch`

-   _类型 :_ `string` | `Object`

> **注:** 只支持Brightcove Player版本的6.18.0和更新版本.

视频云目录搜索要表演. 这可以是简单的字符串搜索,也可以是匹配的对象 [目录 `getSearch` 方法](https://support.brightcove.com/player-catalog#getSearch_method)。 。 。 .

如果给出了一个非字符串值,那么这个参数将不会被忽略.

例如:

```js
brightcovePlayerLoader({
  // ...
  catalogSearch: 'some search term'
});
```

...或者说:

```js
brightcovePlayerLoader({
  // ...
  catalogSearch: {
    q: 'some search term',
    limit: 10
  }
});
```

#### `catalogSequence`

-   _类型 :_ `Array` | `Object`

> **注:** 只支持Brightcove Player版本的6.18.0和更新版本.

要表演的视频云表序列 见 [目录 `getLazySequence` 方法文档](https://support.brightcove.com/player-catalog#getSequence_method) 为了更多.

如果给出了一个非字符串值,那么这个参数将不会被忽略.

例如:

```js
brightcovePlayerLoader({
  // ...
  catalogSequence: [{
    type: 'search',
    id: {
      q: 'some search term',
      limit: 10
    }
  }, {
    type: 'video',
    id: '1234567890'
  }, {
    type: 'playlist',
    id: '0987654321'
  }]
});
```

#### `deliveryConfigId`

-   _类型 :_ `string`

动态传输规则配置 ID 要应用到生成的嵌入器 .

#### `embedId`

-   _类型 :_ `string`
-   _默认 :_ `'default'`

亮湾玩家 [嵌入式标识](https://support.brightcove.com/guide-embed-apis) 为玩家。 对大多数用户来说,默认值是正确的.

#### `embedOptions`

-   _类型 :_ `Object`

曾经为嵌入式生成提供了某些选择. 其中包括:

##### `embedOptions.pip`

-   _类型 :_ `boolean`
-   _默认 :_ `false`

若为 `true`,将嵌入式包起来 `<div class="vjs-pip-container">` 键。 当您需要支持时应当使用此工具 [blightcove 图片插件](https://support.brightcove.com/picture-picture-plugin-aka-floating-or-pinned)。 。 。 .

##### `embedOptions.playlist`

-   _类型 :_ `boolean` | `Object`
-   _默认 :_ `false`

对于页面内嵌入,如果 `true`,将添加一个 `<div class="vjs-playlist">` 元素在嵌入后。 当您需要支持时应当使用此工具 [blightcove 播放列表 UI 插件](https://support.brightcove.com/implementing-playlists)。 。 。 .

对于页面内嵌入器,我们遗留的播放列表UI插件也使用了一个 `<ul>` 元素而不是一个 `<div>`。可以通过 `legacy: true` 这里使用 `<ul>`。 。 。 .

对于 Iframe 嵌入式,此参数将被忽略 .

##### `embedOptions.responsive`

-   _类型 :_ `boolean` | `Object`
-   _默认 :_ `false`

> **注:** 这种方法应适用于页面内嵌入,但建议您使用Video.js `fluid` 和(或) `aspectRatio` 选项:
> 
> ```js
> options: {
>   aspectRatio: '16:9'
> }
> ```

使用自定义嵌入码来生成一个响应大小的播放器 [“内在比”包装方法](https://support.brightcove.com/responsive-sizing-brightcove-player#iframe_example)。 。 。 .

何时 `true`,将生成一个反应性嵌入码,其外观比为16:9,将填充容器.

可提供一个对象,以下列子属性自定义它:

-   `aspectRatio`:一个字符串可以用来自定义相比到16:9以外的值(例如, `'4:3'` 或者说 `'16:10'`) (中文(简体) ). 任何外观比例都可以使用——不仅仅是Video.js支持的.
-   `iframeHorizontalPlaylist`: 对于配置有水平播放列表的 Iframe 播放器,设置为 `true` 以适应额外的高度。 此选项对于页面内玩家来说被忽略了,因为他们的风格独立于其关联的播放列表.
-   `maxWidth`:用于限制玩家最大宽度的字符串. 这应该使用 CSS 单元,例如像素(例如, `'960px'`) (中文(简体) ).

##### `embedOptions.tagName`

-   _类型 :_ `string`
-   _默认 :_ `'video-js'`

用于自定义嵌入元素的标记名 。 此参数的值必须是:

-   `'video-js'` 或者说 `brightcovePlayerLoader.EMBED_TAG_NAME_VIDEOJS`: 此值是默认值, 仅由 Blightcove Player v6.1.10. 0 以上支持 .
-   `'video'` 或者说 `brightcovePlayerLoader.EMBED_TAG_NAME_VIDEO`: 当对 Blightcove Player 版本的支持早于 v6.11.0.时,此值可能会被使用.

此选项仅在 `embedType` 实值 `'in-page'`; 当 `embedType` 实值 `'iframe'`。 。 。 .

##### `embedOptions.unminified`

-   _类型 :_ `boolean`
-   _默认 :_ `false`

若为 `true`,将使用玩家未忽略的版本。 这对调试目的可能有用,但以更大的玩家下载为代价而来. _不推荐生产!_

#### `embedType`

-   _类型 :_ `string`
-   _默认 :_ `'in-page'`

这个 [嵌入代码类型](https://support.brightcove.com/choosing-correct-embed-code) 生产。 此参数的值必须是以下之一:

-   `'in-page'` 或者说 `brightcovePlayerLoader.EMBED_TYPE_IN_PAGE`:也称高级嵌入码,这直接将玩家注入顶级网页.
-   `'iframe'` 或者说 `brightcovePlayerLoader.EMBED_TYPE_IFRAME`: 也称为基本嵌入码,这给玩家注入了一个 `<iframe>` 键.

#### `onEmbedCreated`

-   _类型 :_ `Function(Element)`

用于自定义嵌入元素的回调( 无论是 `video-js` 元素或一个 `iframe` 要素) _在此之前_ 它被插入到DOM中,或者由于 `embedOptions` 在玩家下载和初始化之前.

嵌入元素可能会被变异,或者,如果此调回元素返回一个元素,该元素将被用作嵌入元素.

可能的用例是添加/删除属性或添加儿童元素,如来源或音轨等.

#### `onFailure`

-   _类型 :_ `Function(Error)`

允许处理故障的回调函数 `Promise` 不可用或不可取。 传递此函数将 _防止_ (单位:千美元) `Promise` 从被送回.

它得到一个单身 `Error` 对象作为参数。 此函数的返回值被忽略 .

#### `onSuccess`

-   _类型 :_ `Function(Object)`

回调函数,允许在 `Promise` 不可用或不可取。 传递此函数将 _防止_ (单位:千美元) `Promise` 从被送回.

它得到一个单一的"成功对象"作为论据. 此函数的返回值被忽略 .

#### `options`

-   _类型 :_ `Object`

A 类 [视频.js 选项对象](http://docs.videojs.com/tutorial-options.html) 在玩家创建过程中通过。 这些选项将优先于Brightcove Player配置中指定的任何设置.

> **注:** _无法使用 Iframe 嵌入式!_

#### `playerUrl`

-   _类型 :_ `string`

如果主机为您试图加载自己的玩家,而您不想从亮相洞中加载玩家,请通过url给玩家在这里.

> 注意: Iframes应该解决到一个HTML页面,而其他嵌入符应该指向一个JavaScript文件.

#### `playerId`

-   _类型 :_ `string`
-   _默认 :_ `'default'`

亮河玩家身份证明.

#### `playlistId`

-   _类型 :_ `string` | `number`

视频云视频标识或 [参考编号](https://support.brightcove.com/using-reference-ids)。 。 。 .

#### `playlistVideoId`

-   _类型 :_ `string` | `number`

视频 Cloud 视频 ID ,该视频 ID 将出现在您指定的播放列表中 `playlistId`。如果 `playlistId` 缺少.

#### `poster`

-   _类型 :_ `string`

Playback API 返回的海报图像的 URL .

此选项仅在 `embedType` 实值 `'in-page'`; 当 `embedType` 实值 `'iframe'`。 。 。 .

#### `Promise`

-   _类型 :_ `Function(Function)`
-   _默认 :_ `window.Promise`

用于明确规定 `Promise` 执行。 如果提供,将用它代替任何全局 `Promise`。 。 。 .

#### `refNode`\* 联合国

-   **需求**
-   _类型 :_ `Element` | `string`

玩家将嵌入的 DOM 元素 。 如果不作为 DOM 元素提供,它可以作为字符串提供,然后传递给 `document.querySelector`。 。 。 .

#### `refNodeInsert`

-   _类型 :_ `string`
-   _默认 :_ `'append'`

相对于参考 DOM 元素插入玩家的方式(由 `refNode`) (中文(简体) ). 此参数的值必须是以下之一:

-   `'append'` 或者说 `brightcovePlayerLoader.REF_NODE_INSERT_APPEND`:玩家将是参考节点的最后一个孩子.
-   `'prepend'` 或者说 `brightcovePlayerLoader.REF_NODE_INSERT_PREPEND`:玩家将成为参考节点的第一个孩子.
-   `'before'` 或者说 `brightcovePlayerLoader.REF_NODE_INSERT_BEFORE`:玩家会是参考节点的前同名兄弟.
-   `'after'` 或者说 `brightcovePlayerLoader.REF_NODE_INSERT_AFTER`: 玩家将在参考节点后成为下一个兄弟姐妹.
-   `'replace'` 或者说 `brightcovePlayerLoader.REF_NODE_INSERT_REPLACE`: 引用节点将被删除并被玩家所取代.

#### `videoId`

-   _类型 :_ `string` | `number`

视频云视频ID或参考ID.

### 常数

图书馆暴露了几个与主要图书馆功能相关的常数, `brightcovePlayerLoader`。大多数可用于参数值,并在相关标题下被提及,但在此收集以供参考:

| 常数 | 相关参数 |
| --- | --- |
| `EMBED_TAG_NAME_VIDEO` | `embedOptions.tagName` |
| `EMBED_TAG_NAME_VIDEOJS` | `embedOptions.tagName` |
| `EMBED_TYPE_IN_PAGE` | `embedType` |
| `EMBED_TYPE_IFRAME` | `embedType` |
| `REF_NODE_INSERT_APPEND` | `refNodeInsert` |
| `REF_NODE_INSERT_PREPEND` | `refNodeInsert` |
| `REF_NODE_INSERT_BEFORE` | `refNodeInsert` |
| `REF_NODE_INSERT_AFTER` | `refNodeInsert` |
| `REF_NODE_INSERT_REPLACE` | `refNodeInsert` |
| `VERSION` | 无 |

### 基础 URL

默认情况下,所使用的基础URL是Brightcove CDN. 然而,对于一些非生产案例和测试,您可能想要覆盖基础URL. 这可以通过呼吁 `setBaseUrl` 函数 :

```js
brightcovePlayerLoader.setBaseUrl('https://localhost:9999/');
```

## 常见问题

### @brightcove/player-loader 是什么？

Brightcove玩家的同步脚本加载器\.

### 如何安装 @brightcove/player-loader？

在项目目录运行 npm install @brightcove/player-loader，或使用 pnpm add / yarn add / bun add。

### @brightcove/player-loader 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/brightcove\_\_player-loader 是否存在。

### @brightcove/player-loader 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @brightcove/player-loader 可以商用吗？

@brightcove/player-loader 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @brightcove/player-loader 的下载量有多少？

根据 npm 官方下载统计，@brightcove/player-loader 在 2026/10/09 – 2026/11/07 这 30 天内被下载 256,831 次，日均约 8,561 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @brightcove/player-loader 还在维护吗？

最新版本 1\.8\.1 发布于 2025/10/16（1\.1 年前）；至今共发布 16 个版本，其中过去 12 个月发布了 0 个；首次发布于 2018/07/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

