X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F07_audio%2F10_XAudioSprite.js;h=c3248a9b2f81053376a73881b6abfc8784182a91;hb=9e04e2a1221a92960a74e550bc3fd809caf3cd1c;hp=77542289573ef908ad2927635ff5ef802f2d0937;hpb=486d19a050444ad4d5277fa65a3da437f778ff0f;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/07_audio/10_XAudioSprite.js b/0.6.x/js/07_audio/10_XAudioSprite.js index 7754228..c3248a9 100644 --- a/0.6.x/js/07_audio/10_XAudioSprite.js +++ b/0.6.x/js/07_audio/10_XAudioSprite.js @@ -376,7 +376,8 @@ function X_AudioSprite_backendHandler( e ){ }; // TODO 全ての track の READY で! - last[ 'listenOnce' ]( X_EVENT_READY, X_AudioSprite_backendHandler ); + last[ 'listen' ]( X_EVENT_PROGRESS, X_AudioSprite_backendHandler ) + [ 'listenOnce' ]( X_EVENT_READY, X_AudioSprite_backendHandler ); return X_CALLBACK_STOP_NOW; case X_EVENT_BACKEND_NONE : @@ -391,6 +392,10 @@ function X_AudioSprite_backendHandler( e ){ delete X_AudioSprite_TEMP.event; break; + case X_EVENT_PROGRESS : + X_AudioSprite[ 'dispatch' ]( { type : X_EVENT_PROGRESS, 'percent' : e[ 'percent' ] } ); + break; + case X_EVENT_READY : console.log( 'X.AudioSprite - Ready!' ); for( i = 0; i < X_AudioSprite_numTracks; ++i ){ @@ -398,6 +403,7 @@ function X_AudioSprite_backendHandler( e ){ ( track.autoplay || track._playReserved ) && track.actualPlay(); delete track._playReserved; }; + this[ 'listen' ]( X_EVENT_PROGRESS, X_AudioSprite_backendHandler ); X_AudioSprite[ 'asyncDispatch' ]( X_EVENT_READY ); break; }; @@ -416,12 +422,12 @@ function X_AudioSprite_handleEvent( e ){ case X_EVENT_MEDIA_BEFORE_LOOP : if( track === X_AudioSprite_TEMP.bgmTrack ){ + // BGM X_AudioSprite_TEMP.bgmLooped = true; X_AudioSprite[ 'asyncDispatch' ]( X_EVENT_MEDIA_LOOPED ); // TODO uid } else { - if( track.looped ){ - // X_AudioSprite[ 'asyncDispatch' ]( X_EVENT_MEDIA_LOOPED ); // TODO uid - } else { + // SE + if( !track.looped ){ X_AudioSprite[ 'asyncDispatch' ]( X_EVENT_MEDIA_ENDED ); // TODO uid };