OSDN Git Service

Version 0.6.186, fix X.HTMLAudio & X.AudioSprite.
[pettanr/clientJs.git] / 0.6.x / js / 07_audio / 10_XAudioSprite.js
index 7754228..c3248a9 100644 (file)
@@ -376,7 +376,8 @@ function X_AudioSprite_backendHandler( e ){
                        };\r
                        \r
                        // TODO 全ての track の READY で!\r
-                       last[ 'listenOnce' ]( X_EVENT_READY, X_AudioSprite_backendHandler );\r
+                       last[ 'listen' ]( X_EVENT_PROGRESS, X_AudioSprite_backendHandler )\r
+                               [ 'listenOnce' ]( X_EVENT_READY, X_AudioSprite_backendHandler );\r
                        return X_CALLBACK_STOP_NOW;\r
 \r
                case X_EVENT_BACKEND_NONE :\r
@@ -391,6 +392,10 @@ function X_AudioSprite_backendHandler( e ){
                        delete X_AudioSprite_TEMP.event;\r
                        break;\r
                \r
+               case X_EVENT_PROGRESS :\r
+                       X_AudioSprite[ 'dispatch' ]( { type : X_EVENT_PROGRESS, 'percent' : e[ 'percent' ] } );\r
+                       break;\r
+               \r
                case X_EVENT_READY :\r
                        console.log( 'X.AudioSprite - Ready!' );\r
                        for( i = 0; i < X_AudioSprite_numTracks; ++i ){\r
@@ -398,6 +403,7 @@ function X_AudioSprite_backendHandler( e ){
                                ( track.autoplay || track._playReserved ) && track.actualPlay();\r
                                delete track._playReserved;\r
                        };\r
+                       this[ 'listen' ]( X_EVENT_PROGRESS, X_AudioSprite_backendHandler );\r
                        X_AudioSprite[ 'asyncDispatch' ]( X_EVENT_READY );\r
                        break;\r
        };\r
@@ -416,12 +422,12 @@ function X_AudioSprite_handleEvent( e ){
                \r
                case X_EVENT_MEDIA_BEFORE_LOOP :\r
                        if( track === X_AudioSprite_TEMP.bgmTrack ){\r
+                               // BGM\r
                                X_AudioSprite_TEMP.bgmLooped = true;\r
                                X_AudioSprite[ 'asyncDispatch' ]( X_EVENT_MEDIA_LOOPED ); // TODO uid\r
                        } else {\r
-                               if( track.looped ){\r
-                                       // X_AudioSprite[ 'asyncDispatch' ]( X_EVENT_MEDIA_LOOPED ); // TODO uid\r
-                               } else {\r
+                               // SE\r
+                               if( !track.looped ){\r
                                         X_AudioSprite[ 'asyncDispatch' ]( X_EVENT_MEDIA_ENDED ); // TODO uid\r
                                };\r
                                \r