OSDN Git Service

Version 0.6.96. add lock function @X.EventDispatcher.
[pettanr/clientJs.git] / 0.6.x / js / 06_audio / 02_XSilverlightAudio.js
index 2faf847..dfddccb 100644 (file)
@@ -1,10 +1,14 @@
-/*\r
+\r
+/*\r
  * original : uupaa-js SilverlightAudio.js\r
  * https://code.google.com/p/uupaa-js/source/browse/trunk/0.8/src/Audio/SilverlightAudio.js?r=568\r
  *\r
  * Silverlight 4 → 5における不具合の状況\r
  * http://www.slideshare.net/wakabayashiy/silverlight-4-5 \r
- *\r
+ * \r
+ * IE10以降でSilverlightでF5押したらフリーズする不具合と対処\r
+ * http://katsuyuzu.hatenablog.jp/entry/2014/01/11/003550\r
+ * \r
  * SilverlLight5 ie6&7(ietester,winxp), ie8(winxp) で動作確認。firefox32 では動作しない。(4以下の方がよい?)\r
  */\r
 \r
@@ -30,7 +34,7 @@ if( X.Pulgin.SilverlightEnabled ){
                        detect : function( source, ext ){\r
                                var ok = ext === 'mp3' || ext === 'wma';\r
                                \r
-                               this.asyncDispatch( 0, ok ? 'support' : 'nosupport' );\r
+                               this.asyncDispatch( ok ? 'support' : 'nosupport' );\r
                                \r
                                return this;\r
                        },\r
@@ -126,8 +130,8 @@ if( X.Pulgin.SilverlightEnabled ){
                                 * このページのサンプルは sl5+firefox32 環境で動いている。xaml を js から利用する形ではなく、.xap を sl4 以下で作るのがよさそう.\r
                                 */\r
                                this.proxy       = proxy;\r
-                       this._onload     = 'XAudioSilverlightOnLoad';// + ( ++X_Audio_SLAudio_uid );\r
-                               this._callback   = window[ this._onload ] = X.Callback.create( this, this.onSLReady, [ option.autoplay ] );\r
+                       this._onload     = 'XAudioSilverlightOnLoad' + ( ++X_Audio_SLAudio_uid );\r
+                               this._callback   = window[ this._onload ] = X_Callback_create( this, this.onSLReady, [ option.autoplay ] );\r
                        this.xnodeObject = X.Dom.Node._body\r
                                .create( 'object', {\r
                                                type   : 'application/x-silverlight-2',\r
@@ -161,6 +165,8 @@ if( X.Pulgin.SilverlightEnabled ){
                                this._callback.kill();\r
                                delete this._callback;\r
 \r
+                               //if( sender.findName('media') ) alert( 'exist' );\r
+\r
                                sender.children.add(\r
                                        sender.GetHost().\r
                                        content.\r
@@ -337,12 +343,12 @@ if( X.Pulgin.SilverlightEnabled ){
                        // SilverlightAudio.state\r
                        state : function(){ // @return Hash: { loop, error, paused, ended, source, duration }\r
                                return {\r
-                                       loop:      this._loop,\r
-                                       error:    this._error,\r
-                                       paused this._paused,\r
-                                       ended:    this._ended,\r
-                                       source this._source,\r
-                                       duration:   this._duration\r
+                                       loop     : this._loop,\r
+                                       error    : this._error,\r
+                                       paused   : this._paused,\r
+                                       ended    : this._ended,\r
+                                       source   : this._source,\r
+                                       duration : this._duration\r
                                };\r
                        },\r
                        \r