Comment obtenir la valeur du volume d'entrée microphone avec l'API audio web?

Chasseur audio de gains Internet

chasseur audio de gains Internet

Votes 16 Il y a deux raisons principales de vouloir pour obtenir le "volume": 1 détecter lorsque la source "clips" - c'est-à-dire la valeur absolue du signal dépasse un niveau prédéfini, généralement très proche de 1,0, où il commencera à écrêter.

La raison pour laquelle je les liste séparément est parce que le premier exige que vous traitiez chaque échantillon - parce que vous pourriez manquer un transitoire court autrement. Pour cela, vous devrez utiliser un noeud ScriptProcessor, et vous devrez parcourir chaque échantillon dans le buffer à l'intérieur de onaudioprocess pour rechercher des valeurs absolues au-dessus de votre niveau de clip.

chasseur audio de gains Internet

Vous pourrait juste déterminer le niveau RMS puis, aussi - juste additionner les carrés de chasseur audio de gains Internet échantillon, diviser par N et prendre la racine carrée.

Ne restituez pas de onaudioprocess, cependant - définissez les valeurs auxquelles vous accédez sur requestAnimationFrame.

Chasser les prix - Trouvez les meilleurs prix et gagnez des primes.

Vous pouvez également utiliser un AnalyserNode pour effectuer la détection de niveau, et juste la moyenne des données, un peu comme ce que fait la réponse ci-dessus dans getAverageVolume.

Cependant, la réponse ci-dessus n'est PAS une bonne utilisation de ScriptProcessor - en fait, il ne fait aucun traitement du noeud de script, même pas en passant les données, il l'utilise simplement comme un rappel de minuterie.

chasseur audio de gains Internet

Vous seriez mieux servis en utilisant requestAnimationFrame comme rappel visuel; ne définissez jamais les paramètres de mise en page ou les paramètres visuels de l'intérieur comme on le fait ici, ou vous suppliez de surcharger votre système audio.