OSDN Git Service

Version 0.6.161, fix X.Net & X.SilverlightAudio.
[pettanr/clientJs.git] / 0.6.x / js / 07_audio / 03_XSilverlightAudio.js
index fd9f694..a12ee10 100644 (file)
@@ -17,9 +17,20 @@ var X_Audio_SLAudioWrapper,
 \r
 if( X[ 'Pulgin' ][ 'SilverlightEnabled' ] ){\r
        \r
+       X_TEMP.slaudioInit = function(){\r
+               //\r
+               // http://blog.yuhiisk.com/archive/2014/12/20/dynamic-loading-and-complete-processing-of-script.html\r
+               var s = document.createElement( '<script id="silverlightaudio" type="text/xaml"></script>' );\r
+               \r
+               document.getElementsByTagName( 'head' )[ 0 ].appendChild( s );\r
+               s.text = '<Canvas xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"></Canvas>';\r
+               \r
+               delete X_TEMP.slaudioInit;\r
+       };\r
+       \r
        // X.Node.inherits はできない。_rawObject は <object> でなく silverlight\r
        X_Audio_SLAudioWrapper = X_Audio_AbstractAudioBackend[ 'inherits' ](\r
-               'X.AV.SilverlightAudioWrapper',\r
+               'X.AV.SilverlightAudio',\r
                X_Class.POOL_OBJECT,\r
                {\r
                        '_rawType'      : X_EventDispatcher_EVENT_TARGET_SILVER_LIGHT,\r
@@ -35,16 +46,8 @@ if( X[ 'Pulgin' ][ 'SilverlightEnabled' ] ){
                        _interval       : 0, // setInterval timer id\r
                        \r
                        Constructor : function( target, source, option ){\r
-                               var xnodeScript;\r
+                               !X_Audio_SLAudio_uid && X_TEMP.slaudioInit();\r
                                \r
-                               if( !X_Audio_SLAudio_uid ){\r
-                                       // source\r
-                                       //xnodeScript = X_Node_head[ 'create' ]( 'script', { type : 'text/xaml', id : 'silverlightaudio' } );\r
-                                       //xnodeScript[ '_rawObject' ].innerHTML = '<Canvas xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"></Canvas>';\r
-                                       \r
-                                       // html に以下を書いた                     \r
-                                       // <script id="silverlightaudio" type="text/xaml"><Canvas xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"></Canvas></script>\r
-                               };\r
                                /*\r
                                 * [Silverlight 2]JavaScriptコードからSilverlightのオブジェクトを利用するには?[C#、VB]\r
                                 * http://www.atmarkit.co.jp/fdotnet/dotnettips/902slobjcallfromjs/slobjcallfromjs.html\r