OSDN Git Service

Version 0.6.134, add comments for closure compiler.
[pettanr/clientJs.git] / 0.6.x / js / 07_audio / 03_XSilverlightAudio.js
index ce8ffa7..6cd6f6c 100644 (file)
@@ -18,7 +18,7 @@ var X_Audio_SLAudioWrapper,
 if( X.Pulgin.SilverlightEnabled ){\r
        \r
        // X.Node.inherits はできない。_rawObject は <object> でなく silverlight\r
-       X_Audio_SLAudioWrapper = X.EventDispatcher.inherits(\r
+       X_Audio_SLAudioWrapper = X_EventDispatcher[ 'inherits' ](\r
                'X.AV.SilverlightAudioWrapper',\r
                X.Class.POOL_OBJECT,\r
                {\r
@@ -53,8 +53,8 @@ if( X.Pulgin.SilverlightEnabled ){
                                \r
                                if( !X_Audio_SLAudio_uid ){\r
                                        // source\r
-                                       // X_Node_systemNode.create( 'script', { type : 'text/xaml', id : 'silverlightaudio' } )\r
-                                       //      .text( '<Canvas xmlns="http://schemas.microsoft.com/client/2007" ' +\r
+                                       // X_Node_systemNode[ 'create' ]( 'script', { type : 'text/xaml', id : 'silverlightaudio' } )\r
+                                       //      [ 'text' ]( '<Canvas xmlns="http://schemas.microsoft.com/client/2007" ' +\r
                                        // 'xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"></Canvas>');\r
                                        \r
                                        // html に以下を書いた                     \r
@@ -73,13 +73,13 @@ if( X.Pulgin.SilverlightEnabled ){
                        this._onload     = 'XAudioSilverlightOnLoad' + ( ++X_Audio_SLAudio_uid );\r
                                this._callback   = window[ this._onload ] = X_Callback_create( this, this.onSLReady );\r
                        this.xnodeObject = X_Node_body\r
-                               .create( 'object', {\r
+                               [ 'create' ]( 'object', {\r
                                                type   : 'application/x-silverlight-2',\r
                                                data   : 'data:application/x-silverlight-2,',\r
                                                width  : 1,\r
                                                height : 1\r
                                        })\r
-                                       .html(\r
+                                       [ 'html' ](\r
                                            '<param name="background" value="#00000000">' +      // transparent\r
                                            '<param name="windowless" value="true">' +\r
                                            '<param name="source" value="#silverlightaudio">' +  // XAML ID\r
@@ -90,7 +90,7 @@ if( X.Pulgin.SilverlightEnabled ){
                                        );\r
                                X_AudioWrapper_updateStates( this, option );\r
        \r
-                               this.listenOnce( X_Event.KILL_INSTANCE );\r
+                               this[ 'listenOnce' ]( X_EVENT_KILL_INSTANCE );\r
                        },\r
                        \r
                        onSLReady : function( sender ){\r
@@ -109,9 +109,9 @@ if( X.Pulgin.SilverlightEnabled ){
                                                '<MediaElement x:Name="media" Source="' + this._source + '" Volume="' + this.volume + '" AutoPlay="false" />' +\r
                                        '</Canvas>'));\r
                \r
-                               this._rawObject = sender.findName('media'); // x:Name='media'\r
+                               this[ '_rawObject' ] = sender.findName('media'); // x:Name='media'\r
 \r
-                               this.listen( [ 'MediaFailed', 'MediaOpened', 'MediaEnded', 'CurrentStateChanged' ] );\r
+                               this[ 'listen' ]( [ 'MediaFailed', 'MediaOpened', 'MediaEnded', 'CurrentStateChanged' ] );\r
                        },\r
                        \r
                        handleEvent : function( e ){\r
@@ -125,21 +125,21 @@ if( X.Pulgin.SilverlightEnabled ){
                                                this.playing = false;\r
                                                this._ended  = true;\r
                                                this._paused = false;\r
-                                               this.proxy.dispatch( X_Event.ERROR ); // open failed\r
+                                               this.proxy[ 'dispatch' ]( X_EVENT_ERROR ); // open failed\r
                                                break;\r
 \r
                                        case 'MediaOpened' :\r
                                                // http://msdn.microsoft.com/ja-jp/library/bb979710(VS.95).aspx\r
-                                               this.duration = this._rawObject.NaturalDuration.Seconds * 1000;\r
+                                               this.duration = this[ '_rawObject' ].NaturalDuration.Seconds * 1000;\r
                                                // TODO 'canplaythrough'\r
-                                               //this.proxy.asyncDispatch( 'loadstart' );\r
-                               //this.proxy.asyncDispatch( 'loadedmetadata' );\r
-                               //this.proxy.asyncDispatch( 'loadeddata' );\r
-                               //this.proxy.asyncDispatch( 'canplay' );\r
-                               //this.proxy.asyncDispatch( 'canplaythrough' );\r
-                               this.proxy.asyncDispatch( X_Event.READY );\r
+                                               //this.proxy[ 'asyncDispatch' ]( 'loadstart' );\r
+                               //this.proxy[ 'asyncDispatch' ]( 'loadedmetadata' );\r
+                               //this.proxy[ 'asyncDispatch' ]( 'loadeddata' );\r
+                               //this.proxy[ 'asyncDispatch' ]( 'canplay' );\r
+                               //this.proxy[ 'asyncDispatch' ]( 'canplaythrough' );\r
+                               this.proxy[ 'asyncDispatch' ]( X_EVENT_READY );\r
                                \r
-                               this.autoplay && X.Timer.once( 16, this, this.play );\r
+                               this.autoplay && X_Timer_once( 16, this, this.play );\r
                                                break;\r
 \r
                                        case 'MediaEnded' :                             \r
@@ -148,7 +148,7 @@ if( X.Pulgin.SilverlightEnabled ){
 \r
                                        case 'CurrentStateChanged' :\r
                                                lastState        = this._lastState,\r
-                                               currentState = this._rawObject.CurrentState;\r
+                                               currentState = this[ '_rawObject' ].CurrentState;\r
                                \r
                                                // ignore consecutive events or 'Closed' == 'Error'\r
                                                if( lastState === currentState\r
@@ -162,10 +162,10 @@ if( X.Pulgin.SilverlightEnabled ){
                                                        case 'Opening' :\r
                                                                switch( this._lastUserAction ){\r
                                                                        case 'play' :\r
-                                                                               this.proxy.dispatch( X_Event.MEDIA_WAITING );\r
+                                                                               this.proxy[ 'dispatch' ]( X_EVENT_MEDIA_WAITING );\r
                                                                                break;\r
                                                                        case 'seek' :\r
-                                                                               this.proxy.dispatch( X_Event.MEDIA_SEEKING );\r
+                                                                               this.proxy[ 'dispatch' ]( X_EVENT_MEDIA_SEEKING );\r
                                                                                break;\r
                                                                        case 'pause' :\r
                                                                                break;\r
@@ -182,7 +182,7 @@ if( X.Pulgin.SilverlightEnabled ){
                                                                this.playing = false;\r
                                                                this._ended  = true;\r
                                                                this._paused = false;\r
-                                                               this.proxy.dispatch( X_Event.ERROR );\r
+                                                               this.proxy[ 'dispatch' ]( X_EVENT_ERROR );\r
                                                                break;\r
 \r
                                                        // userAction.pause()              -> MediaState('Paused') -> x\r
@@ -197,7 +197,7 @@ if( X.Pulgin.SilverlightEnabled ){
                                                                                this.seekTime = 0;\r
                                                                                this._ended   = true;\r
                                                                                this._paused  = false;\r
-                                                                               this.proxy.dispatch( X_Event.MEDIA_ENDED );\r
+                                                                               this.proxy[ 'dispatch' ]( X_EVENT_MEDIA_ENDED );\r
                                                                                this._currentTime( this.startTime );\r
                                                                                break;\r
                                                                        case 'pause':\r
@@ -216,7 +216,7 @@ if( X.Pulgin.SilverlightEnabled ){
                                                                this.playing = true;\r
                                                                this._ended  = false;\r
                                                                this._paused = false;\r
-                                                               this.proxy.dispatch( X_Event.MEDIA_PLAYING );\r
+                                                               this.proxy[ 'dispatch' ]( X_EVENT_MEDIA_PLAYING );\r
                                                                break;\r
 \r
                                                        // stop()\r
@@ -229,7 +229,7 @@ if( X.Pulgin.SilverlightEnabled ){
                                                };\r
                                                break;\r
 \r
-                                       case X_Event.KILL_INSTANCE :\r
+                                       case X_EVENT_KILL_INSTANCE :\r
                                                if( this._onload ){\r
                                                        // window への delete に ie5 は対応しないが、そもそも ie5 は Silverlight に非対応\r
                                                        window[ this._onload ] = null;\r
@@ -243,8 +243,8 @@ if( X.Pulgin.SilverlightEnabled ){
                        \r
                        close : function(){\r
                                this.playing && this.pause();\r
-                               this.proxy.dispatch( X_Event.MEDIA_ENDED );\r
-                               this.kill();\r
+                               this.proxy[ 'dispatch' ]( X_EVENT_MEDIA_ENDED );\r
+                               this[ 'kill' ]();\r
                        },\r
                        \r
                        // SilverlightAudio.play\r
@@ -265,27 +265,27 @@ if( X.Pulgin.SilverlightEnabled ){
                                \r
                                console.log( '[SLAudio] play ' + begin + ' -> ' + end );\r
                                \r
-                           this._rawObject.Volume = this.volume;\r
+                           this[ '_rawObject' ].Volume = this.volume;\r
                            this._beginTime = begin;\r
                            this._currentTime( begin );\r
                            \r
                            if( !this.playing ){\r
-                                   this._rawObject.play();\r
-                           //this.proxy.dispatch( 'play' );\r
+                                   this[ '_rawObject' ].play();\r
+                           //this.proxy[ 'dispatch' ]( 'play' );\r
                            \r
                            this.playing = true;\r
                            };\r
                    \r
-                   this._timerID && X.Timer.remove( this._timerID );\r
+                   this._timerID && X_Timer_remove( this._timerID );\r
                    \r
                 if( end < this.duration ){\r
-                                       this._timerID = X.Timer.once( end - begin, this, this._onEnded );\r
+                                       this._timerID = X_Timer_once( end - begin, this, this._onEnded );\r
                 } else {\r
                        delete this._timerID;\r
                 };\r
                 \r
                                if( !this._interval ){\r
-                                       this._interval = X.Timer.add( 1000, 0, this, this._onInterval );\r
+                                       this._interval = X_Timer_add( 1000, 0, this, this._onInterval );\r
                                };\r
                        },\r
                                \r
@@ -294,7 +294,7 @@ if( X.Pulgin.SilverlightEnabled ){
                                                delete this._interval;\r
                                                return X_Callback_UN_LISTEN;\r
                                        };\r
-                                       this.proxy.dispatch( X_Event.MEDIA_PLAYING );\r
+                                       this.proxy[ 'dispatch' ]( X_EVENT_MEDIA_PLAYING );\r
                                },\r
                                \r
                                _onEnded : function(){\r
@@ -302,32 +302,32 @@ if( X.Pulgin.SilverlightEnabled ){
                                        delete this._timerID;\r
                                        \r
                            if( this.playing ){\r
-                               console.log( '> end ' + X_AudioWrapper_getEndTime( this ) + ' current:' + ( this._rawObject.Position.Seconds * 1000 | 0 ) );\r
-                               time = this._rawObject.Position.Seconds * 1000 | 0;\r
+                               console.log( '> end ' + X_AudioWrapper_getEndTime( this ) + ' current:' + ( this[ '_rawObject' ].Position.Seconds * 1000 | 0 ) );\r
+                               time = this[ '_rawObject' ].Position.Seconds * 1000 | 0;\r
                                \r
                                if( time <= this._beginTime ){\r
                                        console.log( '== waiting' );\r
-                                       this.proxy.dispatch( X_Event.MEDIA_WAITING );\r
-                                       this._timerID = X.Timer.once( X_AudioWrapper_getEndTime( this ) - this._beginTime, this, this._onEnded );\r
+                                       this.proxy[ 'dispatch' ]( X_EVENT_MEDIA_WAITING );\r
+                                       this._timerID = X_Timer_once( X_AudioWrapper_getEndTime( this ) - this._beginTime, this, this._onEnded );\r
                                        return;\r
                                };\r
                                \r
                                time -= X_AudioWrapper_getEndTime( this );\r
                                if( time < 0 ){\r
                                        console.log( '> onEnd ' + time );\r
-                                       this._timerID = X.Timer.once( -time, this, this._onEnded );\r
+                                       this._timerID = X_Timer_once( -time, this, this._onEnded );\r
                                        return;\r
                                };\r
                                \r
                                if( this.loop ){\r
-                                       if( !( this.proxy.dispatch( X_Event.MEDIA_BEFORE_LOOP ) & X.Callback.PREVENT_DEFAULT ) ){\r
+                                       if( !( this.proxy[ 'dispatch' ]( X_EVENT_MEDIA_BEFORE_LOOP ) & X_Callback_PREVENT_DEFAULT ) ){\r
                                                this.looped = true;\r
-                                               this.proxy.dispatch( X_Event.MEDIA_LOOPED );\r
+                                               this.proxy[ 'dispatch' ]( X_EVENT_MEDIA_LOOPED );\r
                                                this.play();\r
                                        };\r
                                } else {\r
                                        this.pause();\r
-                                       this.proxy.dispatch( X_Event.MEDIA_ENDED );\r
+                                       this.proxy[ 'dispatch' ]( X_EVENT_MEDIA_ENDED );\r
                                };\r
                            };\r
                                },\r
@@ -342,8 +342,8 @@ if( X.Pulgin.SilverlightEnabled ){
                                this._paused  = true;\r
                                this._ended   = false;\r
                                                        \r
-                               this._rawObject.pause();\r
-                               //this.proxy.dispatch( 'pause' );\r
+                               this[ '_rawObject' ].pause();\r
+                               //this.proxy[ 'dispatch' ]( 'pause' );\r
                        },\r
                        \r
                        // SilverlightAudio.state\r
@@ -358,14 +358,14 @@ if( X.Pulgin.SilverlightEnabled ){
                                        loopEndTime   : this.loopEndTime < 0 ? ( this.endTime || this.duration ) : this.loopEndTime,\r
                                        \r
                                        // 整数化 しておかないと seek 時に不具合がある。\r
-                                       currentTime   : this.playing ? this._rawObject.Position.Seconds * 1000 | 0 : this.seekTime,\r
+                                       currentTime   : this.playing ? this[ '_rawObject' ].Position.Seconds * 1000 | 0 : this.seekTime,\r
 \r
                                        loop          : this.loop,\r
                                        looped        : this.looped,\r
                                        volume        : this.volume,\r
                                        error         : this.error,\r
                                        playing       : this.playing,\r
-                                       duration      : this.duration // this._rawObject.NaturalDuration.Seconds;\r
+                                       duration      : this.duration // this[ '_rawObject' ].NaturalDuration.Seconds;\r
                                    };\r
                                };\r
                        \r
@@ -377,28 +377,28 @@ if( X.Pulgin.SilverlightEnabled ){
                                        if( result & 1 ){\r
                                                end     = X_AudioWrapper_getEndTime( this );\r
                                                halfway = end < this.duration;\r
-                                               this._timerID && X.Timer.remove( this._timerID );\r
+                                               this._timerID && X_Timer_remove( this._timerID );\r
                                                \r
                                                if( halfway ){\r
-                                                       this._timerID = X.Timer.once( end - this._rawObject.Position.Seconds * 1000 | 0, this, this._onEnded );\r
+                                                       this._timerID = X_Timer_once( end - this[ '_rawObject' ].Position.Seconds * 1000 | 0, this, this._onEnded );\r
                                                } else {\r
                                                        delete this._timerID;\r
                                                };\r
 \r
                                        };\r
                                        if( result & 4 ){\r
-                              this._rawObject.Volume = this.volume;\r
+                              this[ '_rawObject' ].Volume = this.volume;\r
                                        };\r
                                };\r
                        },\r
                        \r
                                // SilverlightAudio.currentTime\r
                                _currentTime : function( time ){ // @param Number: time\r
-                                       var position = this._rawObject.Position; // [!] create instance\r
+                                       var position = this[ '_rawObject' ].Position; // [!] create instance\r
        \r
                                        position.Seconds = time / 1000 | 0; // set current time\r
                                \r
-                                       this._rawObject.Position = position; // [!] reattach instance\r
+                                       this[ '_rawObject' ].Position = position; // [!] reattach instance\r
                                }\r
 \r
                }\r
@@ -413,7 +413,7 @@ if( X.Pulgin.SilverlightEnabled ){
 \r
                detect : function( proxy, source, ext ){\r
                        var ok = ext === 'mp3' || ext === 'wma' || ext === 'wav';\r
-                       proxy.asyncDispatch( { type : X_Event.COMPLETE, canPlay : ok } );                               \r
+                       proxy[ 'asyncDispatch' ]( { type : X_EVENT_COMPLETE, canPlay : ok } );                          \r
                },\r
                \r
                klass : X_Audio_SLAudioWrapper\r