Browse Source

AudioAnalyser: getData() to getFrequencyData()

Mr.doob 9 years ago
parent
commit
ca09aacfc2

+ 3 - 3
examples/misc_sound.html

@@ -251,9 +251,9 @@
 
 				controls.update( delta );
 
-				material_sphere1.emissive.b = analyser1.getData()[ 8 ] / 256;
-				material_sphere2.emissive.b = analyser2.getData()[ 8 ] / 256;
-				material_sphere3.emissive.b = analyser3.getData()[ 8 ] / 256;
+				material_sphere1.emissive.b = analyser1.getAverageFrequency() / 256;
+				material_sphere2.emissive.b = analyser2.getAverageFrequency() / 256;
+				material_sphere3.emissive.b = analyser3.getAverageFrequency() / 256;
 
 				renderer.render( scene, camera );
 

+ 2 - 2
examples/webgl_loader_sea3d_sound.html

@@ -458,8 +458,8 @@
 				updateSoundFilter();
 
 				// light intensity from sound amplitude
-				lightOutside.intensity = soundOutsideAnalyser.getAverage() / 50;
-				lightArea.intensity = soundAreaAnalyser.getAverage() / 50;
+				lightOutside.intensity = soundOutsideAnalyser.getAverageFrequency() / 50;
+				lightArea.intensity = soundAreaAnalyser.getAverageFrequency() / 50;
 
 				// Update SEA3D Animations
 				THREE.SEA3D.AnimationHandler.update( delta );

+ 11 - 0
src/Three.Legacy.js

@@ -746,6 +746,17 @@ Object.defineProperties( THREE.Audio.prototype, {
 	}
 } );
 
+Object.defineProperties( THREE.AudioAnalyser.prototype, {
+	getData: {
+		value: function ( file ) {
+
+			console.warn( 'THREE.AudioAnalyser: .getData() is now .getFrequencyData().' );
+			return this.getFrequencyData();
+
+		}
+	}
+} );
+
 //
 
 THREE.GeometryUtils = {

+ 7 - 8
src/audio/AudioAnalyser.js

@@ -15,26 +15,25 @@ THREE.AudioAnalyser = function ( audio, fftSize ) {
 
 Object.assign( THREE.AudioAnalyser.prototype, {
 
-	getData: function () {
+	getFrequencyData: function () {
 
 		this.analyser.getByteFrequencyData( this.data );
+
 		return this.data;
 
 	},
 
-	getAverage: function() {
-
-		var values = 0, data = this.getData();
+	getAverageFrequency: function () {
 
-		// get all the frequency amplitudes
+		var value = 0, data = this.getFrequencyData();
 
-		for (var i = 0; i < data.length; i++) {
+		for ( var i = 0; i < data.length; i ++ ) {
 
-			values += data[ i ];
+			value += data[ i ];
 
 		}
 
-		return values / data.length;
+		return value / data.length;
 
 	}