- if( obj === undefined ){\r
- return {\r
- startTime : this.startTime,\r
- endTime : this.endTime < 0 ? this.duration : this.endTime,\r
- loopStartTime : this.loopStartTime < 0 ? this.startTime : this.loopStartTime,\r
- loopEndTime : this.loopEndTime < 0 ? ( this.endTime || this.duration ) : this.loopEndTime,\r
- \r
- currentTime : this._rawObject.Position.Seconds * 1000,\r
- \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
- };\r
- };\r
- \r
- result = X_AudioWrapper_updateStates( this, obj );\r
- \r
- if( result & 2 ){ // seek\r
- this.play();\r
- } else {\r
- if( result & 1 ){\r
- end = X_AudioWrapper_getEndTime( this );\r
- halfway = end < this.duration;\r
- this._timerID && X.Timer.remove( this._timerID );\r
- \r
- if( halfway ){\r
- this._timerID = X.Timer.once( end - this._rawObject.Position.Seconds * 1000, this, this._onEnded );\r
- } else {\r
- delete this._timerID;\r
- };\r
+ this._lastUserAction = 'pause';\r
+ this.seekTime = this.getActualCurrentTime();\r
+ this.playing = false;\r
+ this._paused = true;\r
+ this._ended = false;\r
+ \r
+ this[ '_rawObject' ].pause();\r
+ //this.target[ 'dispatch' ]( 'pause' );\r
+ },\r