AudioBuffer.getChannelData выводит половину mi c громкости в Safari - PullRequest
1 голос
/ 03 августа 2020

Я разрабатываю простой измеритель единиц объема здесь: https://codesandbox.io/embed/cocky-torvalds-60k4n (который является минимальной адаптацией этого: https://github.com/cwilso/volume-meter/)

Он работает довольно хорошо во всех браузерах, но по какой-то причине входной сигнал, кажется, go наполовину в Safari: когда я пробую скрипт с максимальной громкостью mi c, он обычно выводит Max значение между 0,3-0,5 в Chrome / Firefox / Edge и между 0,1-0,3 в Safari 13. Похоже, это не связано с моей конфигурацией, так как у меня был другой человек, воспроизводивший такое же поведение на своей машине.

Насколько я могу судить, разница исходит от getChannelData, когда Safari производит более низкие значения.

Кто-нибудь знаком с этим? Следует ли считать это ошибкой и знаете ли вы какой-либо обходной путь для согласования вывода между браузерами?

В конечном итоге моя цель - предоставить обратную связь, если громкость mi c слишком мала, но это будет ненадежно до тех пор, пока вывод getChannelData не согласован между браузерами, или если нет принципиального способа перекалибровки чисел Safari

...