+ case 'timeupdate' : // 通常の再生が行われ現在の再生位置の変化が起こった場合に発生\r
+ if( X_Audio_HTMLAudioWrapper_ieMobile9Fix ){\r
+ if( this._playForDuration === 1 ){\r
+ console.log( 'tu ' + this[ '_rawObject' ].duration );\r
+ if( !this.duration && X_Type_isFinite( this[ '_rawObject' ].duration ) ){\r
+ this.duration = this.duration || this[ '_rawObject' ].duration * 1000;\r
+ this._playForDuration = 2;\r
+ loaded = true;\r
+ //console.log( 'durationFix が完了' + this.duration );\r
+ break;\r
+ } else {\r
+ this[ '_rawObject' ].currentTime = this._beginTime / 1000; // 必要!\r
+ return;\r
+ };\r
+ } else\r
+ if( this[ '_rawObject' ].currentTime === this._lastCurrentTime ){\r
+ //this.target[ 'dispatch' ]( 'seeking' );\r
+ this.target[ 'dispatch' ]( X_EVENT_MEDIA_WAITING );\r
+ return;\r
+ };\r
+ this._lastCurrentTime = this[ '_rawObject' ].currentTime;\r
+ };\r
+ this.duration = this.duration || this[ '_rawObject' ].duration * 1000;\r
+\r
+ if( this.playing ){\r
+ end = X_AudioWrapper_getEndTime( this );\r
+ now = this.getActualCurrentTime();\r
+ console.log( end + ' / ' + now );\r
+ if( 0 + end <= 0 + now ){ // なぜか iem9 で必要,,,\r
+ if( this.autoLoop ){\r
+ if( !( this.target[ 'dispatch' ]( X_EVENT_MEDIA_BEFORE_LOOP ) & X_Callback_PREVENT_DEFAULT ) ){\r
+ this.looped = true;\r
+ this.target[ 'dispatch' ]( X_EVENT_MEDIA_LOOPED );\r
+ this.actualPlay();\r
+ };\r
+ } else {\r
+ this.actualPause();\r
+ this.target[ 'dispatch' ]( X_EVENT_MEDIA_ENDED );\r
+ };\r
+ return;\r
+ };\r
+ } else {\r
+ return;\r
+ };\r
+ type = X_EVENT_MEDIA_PLAYING;\r
+ break;\r
+ \r