( window[ 'AudioContext' ] || window[ 'webkitAudioContext' ] ),
X_WebAudio_BUFFER_LIST = [],
X_WebAudio_need1stTouch = X_UA[ 'iOS' ],
+ X_WebAudio_touchState = X_WebAudio_need1stTouch,
X_WebAudio,
X_WebAudio_BufferLoader,
X_WebAudio_fpsFix;
},
handleEvent : function( e ){
+ var i, l;
+
switch( e.type ){
case X_EVENT_PROGRESS :
- this[ 'dispatch' ]( { type : 'progress', 'percent' : e[ 'percent' ] } );
+ for( i = 0, l = this.webAudioList.length; i < l; ++i ){
+ this.webAudioList[ i ][ 'dispatch' ]( { type : X_EVENT_PROGRESS, 'percent' : e[ 'percent' ] } );
+ };
return;
case X_EVENT_SUCCESS :
this.disatcher[ 'asyncDispatch' ]( X_EVENT_READY );
console.log( 'WebAudio buffer ready' );
-
- this.autoplay && !X_WebAudio_need1stTouch && X_Timer_once( 16, this, this.actualPlay );
-
},
actualPlay : function(){
console.log( '[WebAudio] play abuf:' + !!this.audioBuffer );
if( !this.audioBuffer ){
- this.autoplay = true;
+ this._playReserved = true;
return;
};
- if( X_WebAudio_need1stTouch ){
+ if( X_WebAudio_touchState ){
e = X_EventDispatcher_CURRENT_EVENTS[ X_EventDispatcher_CURRENT_EVENTS.length - 1 ];
if( !e || !e[ 'pointerType' ] ){
- alert( 'タッチイベント以外での play! ' + ( e ? e.type : '' ) );
+ // alert( 'タッチイベント以外での play! ' + ( e ? e.type : '' ) );
return;
};
};
+ X_WebAudio_touchState = false;
end = X_Audio_getEndTime( this );
begin = X_Audio_getStartTime( this, end, true );
},
actualPause : function(){
- //if( !this.playing ) return this;
-
console.log( '[WebAudio] pause' );
- this.seekTime = this.getActualCurrentTime();
-
this._timerID && X_Timer_remove( this._timerID );
delete this._timerID;
delete this.playing;