X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F07_audio%2F01_XWebAudio.js;h=5e9729983e94853f23eb2e1e65ef42c14fd2e184;hb=512e08f4d38eab417f9651277e8a50c08535cb07;hp=fb432409ec3b4a95986a8b7369203cb3feda70f7;hpb=35daae003b3b017a92d0c883f120bf3baf604fba;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/07_audio/01_XWebAudio.js b/0.6.x/js/07_audio/01_XWebAudio.js index fb43240..5e97299 100644 --- a/0.6.x/js/07_audio/01_XWebAudio.js +++ b/0.6.x/js/07_audio/01_XWebAudio.js @@ -79,7 +79,9 @@ if( X_Audio_constructor ){ var X_WebAudio_context = // 4s 以下ではない iPad 2G または iPad mini 1G 以下ではない, iPod touch 4G 以下ではない - !X_UA[ 'iPhone_4s' ] && !X_UA[ 'iPad_2Mini1' ] && !X_UA[ 'iPod_4' ] && + !X_UA[ 'iPhone_4s' ] && !X_UA[ 'iPad_2Mini1' ] && !X_UA[ 'iPod_4' ] && + // iOS7 以上で HTML Audio が鳴らない問題を見ていくよ + // !X_UA[ 'iOS' ] && // Android2 + Gecko で WebAudio が極めて不安定 !( X_UA[ 'Fennec' ] && X_UA[ 'Android' ] < 3 ) && // AOSP でも WebAudio を不完全に実装するものがある, touch の有無も不明のため一律に切ってしまう @@ -88,7 +90,7 @@ var X_WebAudio_context = // 4s 以下ではない iPad 2G または iPad mi //!X_UA[ 'Blink' ] && // Firefox40.0.5 + Windows8 で音声が途中から鳴らなくなる // Firefox41.0.1 + Windows8 で音声が途中から鳴らなくなる - !( 40 <= X_UA[ 'Gecko' ] && X_UA[ 'Gecko' ] < 42 && X_UA[ 'Windows' ] ) && + !( 40 <= X_UA[ 'Gecko' ] && X_UA[ 'Gecko' ] < 45 && X_UA[ 'Windows' ] ) && ( window[ 'AudioContext' ] || window[ 'webkitAudioContext' ] ), X_WebAudio_BUFFER_LIST = [], X_WebAudio_need1stTouch = X_UA[ 'iOS' ], @@ -166,7 +168,7 @@ if( X_WebAudio_context ){ _onDecodeSuccess : function( buffer ){ this.onDecodeSuccess && this._onDecodeComplete(); - if ( !buffer ) { + if( !buffer ){ this.errorState = 2; this[ 'asyncDispatch' ]( X_EVENT_COMPLETE ); return; @@ -198,6 +200,7 @@ if( X_WebAudio_context ){ unregister : function( webAudio ){ var list = this.webAudioList, i = list.indexOf( webAudio ); + if( 0 < i ){ list.splice( i, 1 ); if( !list.length ){ @@ -289,7 +292,6 @@ if( X_WebAudio_context ){ if ( !buffer ) { this.error = loader.errorState; - this.disatcher[ 'dispatch' ]({ type : X_EVENT_ERROR, error : loader.errorState,