Pārlūkot izejas kodu

Let MMDLoader use AudioLoader

Takahiro 9 gadi atpakaļ
vecāks
revīzija
57384db531
1 mainītis faili ar 5 papildinājumiem un 20 dzēšanām
  1. 5 20
      examples/js/loaders/MMDLoader.js

+ 5 - 20
examples/js/loaders/MMDLoader.js

@@ -136,29 +136,14 @@ THREE.MMDLoader.prototype.loadAudio = function ( url, callback, onProgress, onEr
 
 	var listener = new THREE.AudioListener();
 	var audio = new THREE.Audio( listener );
+	var loader = new THREE.AudioLoader( this.manager );
 
-	audio.load( url );
+	loader.load( url, function ( buffer ) {
 
-	/*
-	 * Note: THREE.Audio doesn't support onReady callback
-	 *       so doing polling instead.
-	 * TODO: discuss if THREE.Audio.load() should support callback.
-	 */
-	function polling ( buffer ) {
-
-		if ( audio.source.buffer === null ) {
-
-			setTimeout( polling, 0 );
-
-		} else {
+		audio.setBuffer( buffer );
+		callback( audio, listener );
 
-			callback( audio, listener );
-
-		}
-
-	};
-
-	setTimeout( polling, 0 );
+	}, onProgress, onError );
 
 };