OSDN Git Service
(root)
/
pettanr
/
clientJs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Version 0.6.166, fix X.XHR.GadgetProxy.
[pettanr/clientJs.git]
/
0.6.x
/
js
/
07_audio
/
02_XHTMLAudio.js
diff --git
a/0.6.x/js/07_audio/02_XHTMLAudio.js
b/0.6.x/js/07_audio/02_XHTMLAudio.js
index
c1258a3
..
3e84d3d
100644
(file)
--- a/
0.6.x/js/07_audio/02_XHTMLAudio.js
+++ b/
0.6.x/js/07_audio/02_XHTMLAudio.js
@@
-8,9
+8,11
@@
var X_Audio_HTMLAudio_playTrigger =
6 <= X_UA[ 'iOS' ] ? 'loadeddata' :
\r
X_UA[ 'iOS' ] < 5 ? 'stalled' :
\r
X_UA[ 'iOS' ] ? 'suspend' :
\r
6 <= X_UA[ 'iOS' ] ? 'loadeddata' :
\r
X_UA[ 'iOS' ] < 5 ? 'stalled' :
\r
X_UA[ 'iOS' ] ? 'suspend' :
\r
- X_UA[ 'AndroidBrowser2' ] ? 'stalled' : // Android 2.3.5(SBM101SH) では stalled は発生しない,,,
\r
+ X_UA[ 'AndroidBrowser2' ]
|| X_UA[ 'AndroidBrowser3' ]
? 'stalled' : // Android 2.3.5(SBM101SH) では stalled は発生しない,,,
\r
X_UA[ 'AndroidBrowser4' ] ? 'loadeddata' :
\r
X_UA[ 'AndroidBrowser4' ] ? 'loadeddata' :
\r
- X_UA[ 'OperaMobile' ] || X_UA[ 'OperaTablet' ] ? 'loadeddata' : 'loadeddata', //'canplay',
\r
+ X_UA[ 'OperaMobile' ] || X_UA[ 'OperaTablet' ] ? 'loadeddata' :
\r
+ //X_UA[ 'WinPhone' ] && X_UA[ 'IE9' ] ? 'canplay' :
\r
+ 'loadeddata', //'canplay',
\r
X_Audio_HTMLAudioWrapper,
\r
X_Audio_constructor = window[ 'Audio' ] || window.HTMLAudioElement,
\r
X_Audio_rawAudio,
\r
X_Audio_HTMLAudioWrapper,
\r
X_Audio_constructor = window[ 'Audio' ] || window.HTMLAudioElement,
\r
X_Audio_rawAudio,
\r
@@
-39,6
+41,8
@@
if( X_Audio_constructor && !X_Audio_HTMLAudioWrapper_badOperaAndroid ){
//引数なしで new Audio() とすると、Operaでエラーになるそうなので注意。
\r
X_Audio_rawAudio = new X_Audio_constructor( '' );
\r
\r
//引数なしで new Audio() とすると、Operaでエラーになるそうなので注意。
\r
X_Audio_rawAudio = new X_Audio_constructor( '' );
\r
\r
+ // https://html5experts.jp/miyuki-baba/3766/
\r
+ // Chrome for Android31 で HE-AAC が低速再生されるバグ
\r
if( X_Audio_rawAudio.canPlayType ){
\r
X_Audio_codecs = {
\r
'mp3' : X_Audio_rawAudio.canPlayType('audio/mpeg'),
\r
if( X_Audio_rawAudio.canPlayType ){
\r
X_Audio_codecs = {
\r
'mp3' : X_Audio_rawAudio.canPlayType('audio/mpeg'),
\r
@@
-164,7
+168,7
@@
if( X_Audio_constructor && !X_Audio_HTMLAudioWrapper_badOperaAndroid ){
\r
X_Audio_HTMLAudioWrapper_badOperaAndroid && alert( e.type );
\r
\r
\r
X_Audio_HTMLAudioWrapper_badOperaAndroid && alert( e.type );
\r
\r
-
//
console.log( e.type );
\r
+
X_Audio_HTMLAudioWrapper_ieMobile9Fix && e.type !== 'timeupdate' &&
console.log( e.type );
\r
\r
switch( e.type ){
\r
case 'loadstart' : // ブラウザがコンテンツの検索を開始した場合に発生
\r
\r
switch( e.type ){
\r
case 'loadstart' : // ブラウザがコンテンツの検索を開始した場合に発生
\r
@@
-264,7
+268,7
@@
if( X_Audio_constructor && !X_Audio_HTMLAudioWrapper_badOperaAndroid ){
if( this.playing ){
\r
end = X_AudioWrapper_getEndTime( this );
\r
now = this.getActualCurrentTime();
\r
if( this.playing ){
\r
end = X_AudioWrapper_getEndTime( this );
\r
now = this.getActualCurrentTime();
\r
-
//
console.log( end + ' / ' + now );
\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
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
@@
-347,11
+351,11
@@
if( X_Audio_constructor && !X_Audio_HTMLAudioWrapper_badOperaAndroid ){
\r
// もし kill 後に autoplayTimer で呼ばれても、_closed==true なので平気
\r
if( this._closed ) return;
\r
\r
// もし kill 後に autoplayTimer で呼ばれても、_closed==true なので平気
\r
if( this._closed ) return;
\r
- if( !this._loaded /* && !X_Audio_Sprite_inTouchAction */ ){
\r
+ if( !this._loaded
&& !X_Audio_HTMLAudioWrapper_ieMobile9Fix
/* && !X_Audio_Sprite_inTouchAction */ ){
\r
this.autoplay = true;
\r
return;
\r
};
\r
this.autoplay = true;
\r
return;
\r
};
\r
-
\r
+
\r
if( X_Audio_HTMLAudioWrapper_ieMobile9Fix && this._playForDuration === 0 ){
\r
console.log( 'DurationFix開始 - ' + this[ '_rawObject' ].duration );
\r
this._playForDuration = 1;
\r
if( X_Audio_HTMLAudioWrapper_ieMobile9Fix && this._playForDuration === 0 ){
\r
console.log( 'DurationFix開始 - ' + this[ '_rawObject' ].duration );
\r
this._playForDuration = 1;
\r
@@
-377,7
+381,7
@@
if( X_Audio_constructor && !X_Audio_HTMLAudioWrapper_badOperaAndroid ){
X_Timer_once( 0, this, this._fixForChrome );
\r
this[ '_rawObject' ].volume = 0;
\r
} else {
\r
X_Timer_once( 0, this, this._fixForChrome );
\r
this[ '_rawObject' ].volume = 0;
\r
} else {
\r
- this[ '_rawObject' ].volume = this.gain;
\r
+ this[ '_rawObject' ].volume =
X_Audio_HTMLAudioWrapper_ieMobile9Fix ? 1 :
this.gain;
\r
};
\r
this[ '_rawObject' ].play();
\r
this.playing = true;
\r
};
\r
this[ '_rawObject' ].play();
\r
this.playing = true;
\r
@@
-438,7
+442,7
@@
if( X_Audio_constructor && !X_Audio_HTMLAudioWrapper_badOperaAndroid ){
this.actualPlay();
\r
} else
\r
if( result & 4 ){
\r
this.actualPlay();
\r
} else
\r
if( result & 4 ){
\r
- this[ '_rawObject' ].volume = this.gain;
\r
+ this[ '_rawObject' ].volume =
X_Audio_HTMLAudioWrapper_ieMobile9Fix ? 1 :
this.gain;
\r
};
\r
}
\r
\r
};
\r
}
\r
\r