getByteTimeDomainData,而音频暂停?

时间:2020-03-25 05:14:21

标签: javascript html audio web-audio-api

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

我的目标是使用滑块在不同时间查看波形而无需播放音频。

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

是的,必须运行音频上下文,数据才能在AnalyserNode中更改。我想不出使用WebAudio的其他方式。