);\r
X_AudioWrapper_updateStates( this, option );\r
\r
- this.listenOnce( X.Event.KILL_INSTANCE );\r
+ this.listenOnce( X_Event.KILL_INSTANCE );\r
},\r
\r
onSLReady : function( sender ){\r
this.playing = false;\r
this._ended = true;\r
this._paused = false;\r
- this.proxy.dispatch( X.Event.ERROR ); // open failed\r
+ this.proxy.dispatch( X_Event.ERROR ); // open failed\r
break;\r
\r
case 'MediaOpened' :\r
//this.proxy.asyncDispatch( 'loadeddata' );\r
//this.proxy.asyncDispatch( 'canplay' );\r
//this.proxy.asyncDispatch( 'canplaythrough' );\r
- this.proxy.asyncDispatch( X.Event.READY );\r
+ this.proxy.asyncDispatch( X_Event.READY );\r
\r
this.autoplay && X.Timer.once( 16, this, this.play );\r
break;\r
case 'Opening' :\r
switch( this._lastUserAction ){\r
case 'play' :\r
- this.proxy.dispatch( X.Event.MEDIA_WAITING );\r
+ this.proxy.dispatch( X_Event.MEDIA_WAITING );\r
break;\r
case 'seek' :\r
- this.proxy.dispatch( X.Event.MEDIA_SEEKING );\r
+ this.proxy.dispatch( X_Event.MEDIA_SEEKING );\r
break;\r
case 'pause' :\r
break;\r
this.playing = false;\r
this._ended = true;\r
this._paused = false;\r
- this.proxy.dispatch( X.Event.ERROR );\r
+ this.proxy.dispatch( X_Event.ERROR );\r
break;\r
\r
// userAction.pause() -> MediaState('Paused') -> x\r
this.seekTime = 0;\r
this._ended = true;\r
this._paused = false;\r
- this.proxy.dispatch( X.Event.MEDIA_ENDED );\r
+ this.proxy.dispatch( X_Event.MEDIA_ENDED );\r
this._currentTime( this.startTime );\r
break;\r
case 'pause':\r
this.playing = true;\r
this._ended = false;\r
this._paused = false;\r
- this.proxy.dispatch( X.Event.MEDIA_PLAYING );\r
+ this.proxy.dispatch( X_Event.MEDIA_PLAYING );\r
break;\r
\r
// stop()\r
};\r
break;\r
\r
- case X.Event.KILL_INSTANCE :\r
+ case X_Event.KILL_INSTANCE :\r
if( this._onload ){\r
// window への delete に ie5 は対応しないが、そもそも ie5 は Silverlight に非対応\r
window[ this._onload ] = null;\r
\r
close : function(){\r
this.playing && this.pause();\r
- this.proxy.dispatch( X.Event.MEDIA_ENDED );\r
+ this.proxy.dispatch( X_Event.MEDIA_ENDED );\r
this.kill();\r
},\r
\r
delete this._interval;\r
return X_Callback_UN_LISTEN;\r
};\r
- this.proxy.dispatch( X.Event.MEDIA_PLAYING );\r
+ this.proxy.dispatch( X_Event.MEDIA_PLAYING );\r
},\r
\r
_onEnded : function(){\r
\r
if( time <= this._beginTime ){\r
console.log( '== waiting' );\r
- this.proxy.dispatch( X.Event.MEDIA_WAITING );\r
+ this.proxy.dispatch( X_Event.MEDIA_WAITING );\r
this._timerID = X.Timer.once( X_AudioWrapper_getEndTime( this ) - this._beginTime, this, this._onEnded );\r
return;\r
};\r
};\r
\r
if( this.loop ){\r
- if( !( this.proxy.dispatch( X.Event.MEDIA_BEFORE_LOOP ) & X.Callback.PREVENT_DEFAULT ) ){\r
+ if( !( this.proxy.dispatch( X_Event.MEDIA_BEFORE_LOOP ) & X.Callback.PREVENT_DEFAULT ) ){\r
this.looped = true;\r
- this.proxy.dispatch( X.Event.MEDIA_LOOPED );\r
+ this.proxy.dispatch( X_Event.MEDIA_LOOPED );\r
this.play();\r
};\r
} else {\r
this.pause();\r
- this.proxy.dispatch( X.Event.MEDIA_ENDED );\r
+ this.proxy.dispatch( X_Event.MEDIA_ENDED );\r
};\r
};\r
},\r
\r
detect : function( proxy, source, ext ){\r
var ok = ext === 'mp3' || ext === 'wma' || ext === 'wav';\r
- proxy.asyncDispatch( ok ? X_Audio_CAN_PLAY : X_Audio_NOT_PLAY ); \r
+ proxy.asyncDispatch( { type : X_Event.COMPLETE, canPlay : ok } ); \r
},\r
\r
klass : X_Audio_SLAudioWrapper\r