跳到正文

Playback API ​

playback 系列 API 参考。

本页是下列命名空间的主文档。方法名、参数键与返回字段均与运行时实现保持一致。

playback ​

playback.getCurrentTrack ​

无参数。

返回值: {"found":"...","playing":"...","success":true}

js
const result = await fb2k.invoke('playback.getCurrentTrack');

playback.getCurrentTrackIndex ​

参数类型必填默认值说明
includeTrackInfoboolean否false附带 track 曲目信息对象。

返回值: {"found":true,"index":0,"playlist":0,"success":true,"track":{}}

js
const { playlist, index } = await fb2k.invoke('playback.getCurrentTrackIndex');

playback.getPlaybackOrder ​

无参数。

返回值: {"name":"...","order":"...","orderIndex":"...","orderName":"..."}

js
const result = await fb2k.invoke('playback.getPlaybackOrder');

playback.getPlayingPlaylist ​

无参数。

返回值: {"found":"...","name":"...","playlist":"...","success":true}

js
const result = await fb2k.invoke('playback.getPlayingPlaylist');

playback.getPosition ​

无参数。

返回值: {"duration":"...","path":"...","position":"...","subsong":"..."}

js
const result = await fb2k.invoke('playback.getPosition');

playback.getState ​

无参数。

返回值: {"canPause":"...","canSeek":"...","state":"..."}

js
const result = await fb2k.invoke('playback.getState');

playback.getStopAfterCurrent ​

无参数。

返回值: {"enabled":"..."}

js
const result = await fb2k.invoke('playback.getStopAfterCurrent');

playback.getVolume ​

无参数。

返回值: {"isMuted":"...","muted":"...","volume":"...","volumeDb":"..."}

js
const result = await fb2k.invoke('playback.getVolume');

playback.mute ​

参数类型必填默认值说明
mutedboolean否truefalse 表示取消静音。

返回值: {"success":true}

js
await fb2k.invoke('playback.mute', { muted: true });

playback.next ​

无参数。

返回值: {"success":true}

js
const result = await fb2k.invoke('playback.next');

playback.pause ​

无参数。

返回值: {"success":true}

js
const result = await fb2k.invoke('playback.pause');

playback.play ​

无参数。

返回值: {"success":true}

js
const result = await fb2k.invoke('playback.play');

playback.playOrPause ​

无参数。

返回值: {"isPlaying":"...","success":true}

js
const result = await fb2k.invoke('playback.playOrPause');

playback.playPath ​

参数类型必填说明
pathstring是要播放的文件路径;缺失或为空时返回 path is required。

返回值: {"error":"...","path":"...","subsong":"...","success":true,"tracksAdded":"..."}

js
await fb2k.invoke('playback.playPath', { path: 'C:\\Music\\song.flac' });

用 path|subsong:N 形式可以指定 CUE 中的某个子曲目。handler 会先把文件路径和可选的 subsong 后缀拆开,再开始播放。

playback.playPaths ​

参数类型必填默认值说明
pathsarray<string>是—文件路径或 URL 数组。
startIndexinteger否0添加后开始播放的下标。
replaceboolean否false为 true 时替换现有内容而非追加。

返回值: {"error":"...","startedAt":"...","success":true,"tracksAdded":"..."}

js
await fb2k.invoke('playback.playPaths', { paths: ['C:\\Music\\a.flac', 'C:\\Music\\b.flac'] });

playback.playPause ​

无参数。

返回值: {"isPlaying":"...","success":true}

js
const result = await fb2k.invoke('playback.playPause');

playback.previous ​

无参数。

返回值: {"success":true}

js
const result = await fb2k.invoke('playback.previous');

playback.random ​

无参数。

返回值: {"success":true}

js
const result = await fb2k.invoke('playback.random');

playback.setPlaybackOrder ​

参数类型必填说明
orderinteger | string否顺序索引或名称,默认 0(default)。

返回值: { "success": true, "order": 3, "orderName": "random" }

索引与名称均可传入:0 default、1 repeat-playlist、2 repeat-track、3 random、4 shuffle-tracks、5 shuffle-albums、6 shuffle-folders。无法识别的名称回退为 0。越界索引不做校验,原样回显于 order,而 orderName 报告为 default——需要确认实际生效值时请读取返回的这一对字段。

js
await fb2k.invoke('playback.setPlaybackOrder', { order: 'random' });

playback.setPosition ​

参数类型必填默认值说明
positionnumber否0目标位置(秒)。
secondsnumber否0position 的别名,position 存在时被忽略。

返回值: {"actualPosition":"...","duration":"...","error":"...","newPosition":"...","oldPosition":"...","requestedPosition":"...","subsong":"...","success":true}

js
await fb2k.invoke('playback.setPosition', { position: 42.5 });

playback.setStopAfterCurrent ​

参数类型必填默认值说明
enabledboolean否false

返回值: {"enabled":"...","success":true}

js
await fb2k.invoke('playback.setStopAfterCurrent', { enabled: true });

playback.setVolume ​

参数类型必填默认值说明
volumenumber否100音量百分比(0–100)。

返回值: {"success":true}

js
await fb2k.invoke('playback.setVolume', { volume: 80 });

playback.stop ​

无参数。

返回值: {"success":true}

js
const result = await fb2k.invoke('playback.stop');

playback.toggleMute ​

无参数。

返回值: {"muted":"...","success":true}

js
const result = await fb2k.invoke('playback.toggleMute');

playback.toggleStopAfterCurrent ​

无参数。

返回值: {"enabled":"..."}

js
const result = await fb2k.invoke('playback.toggleStopAfterCurrent');

playback.volumeDown ​

无参数。

返回值: {"success":true}

js
const result = await fb2k.invoke('playback.volumeDown');

playback.volumeUp ​

无参数。

返回值: {"success":true}

js
const result = await fb2k.invoke('playback.volumeUp');

相关事件 ​

事件 playback:stopAfterCurrentChanged 的 payload 为 { enabled },字段名与 API 返回值相同。