Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. AnalyserNode
  4. frequencyBinCount

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

AnalyserNode: frequencyBinCount-Eigenschaft

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.

DiefrequencyBinCount-Schreibgeschützte Eigenschaft derAnalyserNode-Schnittstelle enthält die Gesamtanzahl der Datenpunkte, die fürAudioContextsampleRate verfügbar sind. Dies entspricht der Hälfte desvalue derAnalyserNode.fftSize. Die Indizes der beiden Methoden stehen in linearer Beziehung zu den von ihnen repräsentierten Frequenzen, zwischen 0 und derNyquist-Frequenz.

Wert

Ein vorzeichenloser Integer, der gleich der Anzahl der Werte ist, dieAnalyserNode.getByteFrequencyData() undAnalyserNode.getFloatFrequencyData() in das bereitgestellteTypedArray kopieren.

Aus technischen Gründen, die mit der Definition derschnellen Fourier-Transformation zusammenhängen, beträgt dieser Wert immer die Hälfte desAnalyserNode.fftSize. Daher sind die möglichen Werte16,32,64,128,256,512,1024,2048,4096,8192 und16384.

Beispiele

Das folgende Beispiel zeigt die grundlegende Verwendung einesAudioContext, um einenAnalyserNode zu erstellen, dannrequestAnimationFrame und<canvas>, um wiederholt Frequenzdaten zu sammeln und eine "Winamp-Balkendiagramm-Darstellung" der aktuellen Audioeingabe zu zeichnen.Für vollständigere praktische Beispiele/Informationen sehen Sie sich unserVoice-change-O-matic Demo an.

js
const audioCtx = new AudioContext();const analyser = audioCtx.createAnalyser();analyser.minDecibels = -90;analyser.maxDecibels = -10;// …analyser.fftSize = 256;const bufferLength = analyser.frequencyBinCount;console.log(bufferLength);const dataArray = new Uint8Array(bufferLength);canvasCtx.clearRect(0, 0, WIDTH, HEIGHT);function draw() {  drawVisual = requestAnimationFrame(draw);  analyser.getByteFrequencyData(dataArray);  canvasCtx.fillStyle = "rgb(0 0 0)";  canvasCtx.fillRect(0, 0, WIDTH, HEIGHT);  const barWidth = (WIDTH / bufferLength) * 2.5 - 1;  let barHeight;  let x = 0;  for (let i = 0; i < bufferLength; i++) {    barHeight = dataArray[i];    canvasCtx.fillStyle = `rgb(${barHeight + 100} 50 50)`;    canvasCtx.fillRect(x, HEIGHT - barHeight / 2, barWidth, barHeight / 2);    x += barWidth;  }}draw();

Spezifikationen

Specification
Web Audio API
# dom-analysernode-frequencybincount

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp