跳转到内容

IsolationRenderer

Defined in: packages/core/src/bg-render/isolation/index.ts:72

一个播放歌词的组件

SteveXMH

new IsolationRenderer(canvas): IsolationRenderer;

Defined in: packages/core/src/bg-render/isolation/index.ts:142

Parameter Type
canvas HTMLCanvasElement

IsolationRenderer

BaseRenderer.constructor

Property Modifier Type Default value Description Inherited from Defined in
canvas protected HTMLCanvasElement undefined - BaseRenderer.canvas packages/core/src/bg-render/base.ts:75
currerntRenderScale protected number 0.75 - BaseRenderer.currerntRenderScale packages/core/src/bg-render/base.ts:74
flowSpeed protected number 1 - BaseRenderer.flowSpeed packages/core/src/bg-render/base.ts:73
defaultOptions readonly Readonly<IsolationRendererOptions> undefined 新建实例时采用的默认选项。 该对象也可作为配置界面的初始值;实例创建后的调整统一走 setOptions - packages/core/src/bg-render/isolation/index.ts:79

protected disconnectResizeObserver(): void;

Defined in: packages/core/src/bg-render/base.ts:148

停止监听画板尺寸,供构造失败等尚未接管画板所有权的路径清理

void

BaseRenderer.disconnectResizeObserver


dispose(): void;

Defined in: packages/core/src/bg-render/isolation/index.ts:511

销毁实现了该接口的对象实例,释放占用的资源

一般情况下,调用本函数后就不可以再调用对象的任何函数了

void

BaseRenderer.dispose


getElement(): HTMLElement;

Defined in: packages/core/src/bg-render/base.ts:155

获取这个类所对应的 HTML 元素实例

HTMLElement

BaseRenderer.getElement


protected onResize(width, height): void;

Defined in: packages/core/src/bg-render/isolation/index.ts:410

当画板元素大小发生变化时此函数会被调用 可以在此处重设和渲染器相关的尺寸设置 考虑到初始化的时候元素不一定在文档中或出于某些特殊样式状态,尺寸长宽有可能会为 0,请注意进行特判处理

Parameter Type Description
width number 画板元素实际的物理像素宽度,有可能为 0
height number 画板元素实际的物理像素高度,有可能为 0

void

BaseRenderer.onResize


pause(): void;

Defined in: packages/core/src/bg-render/isolation/index.ts:428

暂停背景动画,画面即便是更新了图片也不会发生变化

void

BaseRenderer.pause


resume(): void;

Defined in: packages/core/src/bg-render/isolation/index.ts:436

恢复播放背景动画

void

BaseRenderer.resume


setAlbum(albumSource?, isVideo?): Promise<void>;

Defined in: packages/core/src/bg-render/isolation/index.ts:458

设置背景专辑资源,纹理加载并设置完成后会返回

Parameter Type Description
albumSource? string | HTMLImageElement | HTMLVideoElement 专辑的资源链接,可以是图片或视频链接,抑或是任意 img/video 元素,如果提供字符串链接且为视频则需要指定第二个参数
isVideo? boolean -

Promise<void>

BaseRenderer.setAlbum


setFlowSpeed(speed): void;

Defined in: packages/core/src/bg-render/base.ts:116

修改背景的流动速度,数字越大越快,默认为 1

Parameter Type Description
speed number 背景的流动速度,默认为 1

void

BaseRenderer.setFlowSpeed


setFPS(fps): void;

Defined in: packages/core/src/bg-render/isolation/index.ts:422

修改背景动画帧率,默认是 30 FPS

如果设置成 0 则会停止动画

Parameter Type Description
fps number 目标帧率,默认 30 FPS

void

BaseRenderer.setFPS


setHasLyric(_hasLyric): void;

Defined in: packages/core/src/bg-render/isolation/index.ts:507

设置背景是否根据“是否有歌词”这个特征调整自身效果,例如有歌词时会变得更加活跃

部分渲染器会根据这个特征调整自身效果

如果不确定是否需要赋值或无法知晓是否包含歌词,请传入 true 或不做任何处理(默认值为 true)

Parameter Type
_hasLyric boolean

void

BaseRenderer.setHasLyric


setLowFreqVolume(_volume): void;

Defined in: packages/core/src/bg-render/isolation/index.ts:503

设置低频的音量大小,范围在 80hz-120hz 之间为宜,取值范围在 [0.0-1.0] 之间

部分渲染器会根据音量大小调整背景效果(例如根据鼓点跳动)

如果无法获取到类似的数据,请传入 1.0 作为默认值,或不做任何处理(默认值即 1.0)

Parameter Type
_volume number

void

BaseRenderer.setLowFreqVolume


setOptions(patch): void;

Defined in: packages/core/src/bg-render/isolation/index.ts:244

调整渲染器选项,会立即生效。

Parameter Type
patch Partial<IsolationRendererOptions>

void


setRenderScale(scale): void;

Defined in: packages/core/src/bg-render/base.ts:90

修改背景的渲染比例,默认是 0.5

一般情况下这个程度既没有明显瑕疵也不会特别吃性能

Parameter Type Description
scale number 背景的渲染比例

void

BaseRenderer.setRenderScale


setStaticMode(enable): void;

Defined in: packages/core/src/bg-render/isolation/index.ts:416

是否启用静态模式,即图片在更换后就会保持静止状态并禁用更新,以节省性能

Parameter Type Description
enable boolean 是否启用静态模式

void

BaseRenderer.setStaticMode


static isSupported(): boolean;

Defined in: packages/core/src/bg-render/isolation/index.ts:86

当前环境是否支持该渲染器,选择渲染器前应先问一句。

boolean