bricks/dist/docs/zh/continueaudio.md
yumoqing 1291f7fee3 fix: UiCode build_options uses valueField/textField fallback to 'value'/'text'
When valueField/textField are not explicitly set in opts, the auto-select
logic (line 1140) and nullable empty-option creation (lines 1144-1145) used
data[0][undefined] which returned undefined, causing:
- Single-option selects to show blank (auto-select failed)
- nullable empty options to have undefined keys

Now extracts vf/tf local variables with ||'value'/||'text' fallback at the
top of build_options(), used consistently throughout.
2026-05-29 23:03:52 +08:00

2.0 KiB
Raw Blame History

ContinueAudioPlayer

控件功能
ContinueAudioPlayer 是一个用于连续播放音频的 Web Audio API 控件,支持通过 WebSocket 接收音频数据(如 Base64 编码的音频片段),并实现无缝续播。具备播放、暂停、恢复、重启、音量调节和静音切换等功能。

类型:普通控件
父类控件bricks.VBox

初始化参数

参数名 类型 说明
ws_url string 可选WebSocket 服务地址,用于接收音频流数据(当前控件未直接实现 WebSocket 连接逻辑,需外部使用)。
onStart function 音频开始播放时触发的回调函数。
onEnd function 当前音频轨道播放结束时触发的回调函数。
onPause function 暂停播放时触发的回调函数。
onResume function 恢复播放时触发的回调函数。
onVolumeChange function 音量变化或静音状态改变时触发参数为当前输出音量值0 或实际音量)。

示例:

new bricks.ContinueAudioPlayer({
  ws_url: 'wss://example.com/audio-stream',
  onStart: () => console.log('Audio started'),
  onEnd: () => console.log('Audio ended'),
  onPause: () => console.log('Paused'),
  onResume: () => console.log('Resumed'),
  onVolumeChange: (vol) => console.log('Volume:', vol)
});

主要事件

事件名 触发条件
onStart 调用 handleAudioTrack 成功解码并开始播放音频时触发。
onEnd 当前音频源播放完毕(source.onended)时触发。
onPause 调用 pauseAudio 并成功暂停音频上下文后触发。
onResume 调用 resumeAudio 并成功恢复音频上下文后触发。
onVolumeChange 调用 setVolumetoggleMute 导致输出音量变化时触发,传递当前有效音量值(静音时为 0