MujicaUI

Media · #350

AudioSpectrum 浅色主题渲染快照
浅色 · 渲染快照
AudioSpectrum 深色主题渲染快照
深色 · 渲染快照

350 AudioSpectrum 音频频谱

用途

把调用方提供的频带数值画成柱状频谱;组件自己不做动画,隐藏时不重绘。

最小示例

bands := []float32{0.2, 0.6, 0.9, 0.4, 0.1} // set by your analyser, then c.Invalidate()
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	media.AudioSpectrum(c, bands, media.AudioSpectrumOptions{})
}
ui.Render(view, 400, 300, 1)

参数

func AudioSpectrum(c *ui.Context, bands []float32, opts AudioSpectrumOptions) *ui.Element

每个频带取 0 到 1,超出范围 panic。

字段类型默认值含义
Heightfloat320(即 120)高度。
BandLabelfunc(i int) stringnil读数中频带的名称,如“1 kHz”;nil 时编号。
Status / ErrorDataStatus / stringDataReady加载、失败与无数据占位,尺寸相同。
Labelstring"Spectrum"无障碍名称。

状态

聚焦后用方向键选中的频带以正文色显示,带虚线框和读数,不只靠颜色。

事件

无事件;方向键读数会通过 Announce 朗读。

键盘操作

按键作用
Tab聚焦频谱
← / →上一个 / 下一个频带
Home / End第一个 / 最后一个频带

限制

  • 刷新节奏由调用方决定:更新数据后调用 c.Invalidate()。