我目前在Safari 10.1中遇到Tone.Analyzer问题。
Tone.Analyzer(1024)初始化size > Math.pow(2, 10)时,出现以下错误:
IndexSizeError (DOM Exception 1): The index is not in the allowed range.

我也submitted this to the ToneJS repository,但是我觉得这更像是Safari中的错误,对吗?



import Tone from 'tone';

const sampleSize = Math.pow(2, 13); // Math.pow(2, 10); works...

this.fft = new Tone.Analyser('fft', sampleSize);
this.panVol = new Tone.PanVol().fan(this.fft).toMaster();


Link to WebpackBin example

但是,我在interwebz上找不到任何信息,哪种浏览器可以接受while the Tone.js documentation提到的the Value must be a power of two in the range 32 to 32768. (Same as in the Web Audio API documentation)的大小。

Safaris音频API getByteFrequencyData是否没有实现更大的大小?
很想实现一个高精度的均衡器,但是对于较低的频率,样本大小必须> 4000。

最佳答案

WebAudio规范的早期版本表示2048是AnalyserNode的最大FFT大小。更高版本的限制至少为32k,而Safari仍实施旧限制。

08-24 21:48