X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F07_audio%2F10_XAudioSprite.js;h=bb4272b1ebd559f5603ab4734f39839b9bee5e12;hb=512e08f4d38eab417f9651277e8a50c08535cb07;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..bb4272b 100644 --- a/0.6.x/js/07_audio/10_XAudioSprite.js +++ b/0.6.x/js/07_audio/10_XAudioSprite.js @@ -265,7 +265,7 @@ var X_AudioSprite_members = */ 'seek' : function( uid, position ){ var track = X_AudioSprite_TEMP.tracks[ uid ], - end, strat; + end, start; if( track ){ delete track.seekTime; end = X_Audio_getEndTime( track ); @@ -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 };