Wavesurfer设置height后频谱图缩放异常,无法匹配频率范围
Wavesurfer 7.7.1 频谱图高度设置后缩放不匹配问题解决思路
我也碰到过类似问题,给你几个可行的排查方向:
- 先检查频谱图容器
#spectrogram的CSS样式,有没有设置max-height、overflow: hidden这类属性?有时候容器的样式会限制Wavesurfer渲染的实际高度,导致频谱图被截断,和频率标签对不上。 - 试试在配置里加上
pixelRatio: window.devicePixelRatio,高DPI屏幕下的像素缩放计算可能出了问题,强制匹配屏幕像素比能解决这类错位。 - 建议升级到Wavesurfer的最新版本,7.7.1确实存在一些频谱图渲染的小bug,后续版本已经修复了不少类似的缩放匹配问题。
- 如果以上都没用,可以试试在频谱图初始化的
onReady回调里手动调整频率轴的刻度,不过这属于临时 workaround,优先推荐前面的方法。
你的代码示例:
let spec = Spectrogram.create({ container: '#spectrogram', labels: true, height: 500, // 注释此行后显示正常 frequencyMin: 0, frequencyMax: 22000, labelsBackground: '#919191B3' })
内容的提问来源于stack exchange,提问作者WithThee
相关产品推荐
相关产品推荐

