跳到正文

SDK 命名空间 ​

SDK 通过聚合 fb 对象提供 41 个运行时命名空间,此外还有响应式 fb.state 镜像,顶层的 fb.on、fb.off、fb.once、fb.invoke、fb.isAvailable()、fb.ready() 辅助方法,以及处理失败的 fb.unwrap 与 fb.ApiCallError。每个命名空间各有一页;响应式镜像见 fb.state,事件订阅见 SDK 事件系统。

核心命名空间 ​

命名空间用途示例
fb.player播放与音量控制fb.player.play()
fb.playlist播放列表管理fb.playlist.getAll()
fb.library媒体库查询与遍历fb.library.search('query')
fb.ui窗口与弹出窗口管理fb.ui.minimize()
fb.config便携配置与宿主设置fb.config.get('key')
fb.artwork获取专辑封面fb.artwork.getCurrent()
fb.audio音频分析与波形fb.audio.subscribeSpectrum()
fb.media本地媒体地址与容器信息fb.media.getContainerInfo(path)
fb.output查询输出设备fb.output.getDevices()
fb.dspDSP 链与预设fb.dsp.getChain()
fb.replaygainReplayGain 设置fb.replaygain.getMode()
fb.queue播放队列fb.queue.get()
fb.jitQueueJIT 即时队列fb.jitQueue.enqueueNext()

元数据与数据访问 ​

命名空间用途示例
fb.metadata读写元数据fb.metadata.read(path)
fb.titleformatTitleformat 求值fb.titleformat.eval()
fb.playcount播放统计fb.playcount.get(path)
fb.rating曲目评分fb.rating.set(path, 5)
fb.selection全局选择同步fb.selection.get()
fb.file文件读写fb.file.read(path)
fb.httpHTTP 请求fb.http.get(url)
fb.clipboard剪贴板fb.clipboard.read()
fb.dialog原生对话框fb.dialog.openFile()

跨窗口与桌面集成 ​

命名空间用途示例
fb.port命名的跨窗口端口fb.port.connect('main')
fb.event跨窗口自定义事件fb.event.emit('refresh')
fb.sharedState跨窗口共享状态fb.sharedState.get('theme')
fb.cursor各窗口的光标可见性fb.cursor.setHidden(true)
fb.taskbar任务栏按钮与进度fb.taskbar.setProgress(50)
fb.tray系统托盘图标与菜单fb.tray.showBalloon(opts)
fb.keyboard全局热键fb.keyboard.registerHotkey()
fb.discovery服务与 API 发现fb.discovery.getAllServices()
fb.shell操作系统集成fb.shell.openExternal(url)

工具与宿主服务 ​

命名空间用途示例
fb.systemAPI、插件、语言、DPI 与主题信息fb.system.listApis()
fb.utils通用工具方法fb.utils.formatTitle()
fb.menu主菜单与右键菜单命令fb.menu.runMainMenuCommand()
fb.console输出到宿主控制台fb.console.log(msg)
fb.log日志文件fb.log.write(msg)
fb.lyrics歌词fb.lyrics.get()
fb.notificationToast 与通知fb.notification.showToast()
fb.panel面板配置fb.panel.getConfig()
fb.webview页面从哪里加载fb.webview.getSource()
fb.misc其他宿主操作fb.misc.restart()
fb.dnd外部文件拖入fb.dnd.getPathsAsync()