При быстром взгляде на ваш тестовый код вы используете AnalyserNode
для определения t2
и вызываете функцию F3()
через rAF.Это происходит примерно каждые 16,6 мс или 732 выборки (при 44,1 кГц).Но вы увеличиваете t2 на N = 1024 кадра каждый раз.Следовательно, ваше значение t2 примерно в 1,4 раза больше, чем фактическое количество кадров.(Это то, что вы на самом деле получаете!)
Если вы действительно хотите измерить, сколько сэмплов вы получили, вы должны делать синхронно на аудиограмме, поэтому используйте ScriptProcessorNode
или * 1007.* подсчитать, сколько образцов данных было обработано.Затем вы можете увеличить t2 на правильную величину.Это должно соответствовать вашим значениям t1 более близко.Но обратите внимание, что часы, которые управляют значением t1, очень вероятно отличаются от аудио часов, которые управляют аудиосистемой.С течением времени они будут дрейфовать, хотя дрейф, вероятно, будет довольно небольшим, если вы не запускаете его несколько дней подряд.