首页 > 解决方案 > 音频暂停时getByteTimeDomainData?

问题描述

我正在处理第一个关于Visualizations with Web Audio API的示例。

我的目标是使用滑块在不播放音频的情况下查看不同时间的波形。

但是,似乎必须播放音频才能analyser.getByteTimeDomainData(dataArray)在当前时间获取数据。我设置了audioElement.currentTime,但在暂停时,analyser.getByteTimeDomainData(dataArray)只返回 [128, 128, ..., 128]。

我只想在音频暂停时获取特定时间的数据。那可能吗?

标签: javascripthtmlaudioweb-audio-api

解决方案


getByteTimeDomainData用于实时音频分析,为了在不播放的情况下生成波形,您需要使用音频上下文方法解码整个音频文件,并使用您可能处理decodeAudioData的方法从解码的音频缓冲区中获取音频数据(Float32Array)getChannelData每个画布像素的平均样本值并渲染它。


推荐阅读