Properties
Protected _audio
_audio: InnerAudioContext
Protected _duration
_duration: number = 0
Protected _eventTarget
_eventTarget: any
Private _interrupted
_interrupted: boolean = false
Protected _loop
_loop: boolean = false
Protected _offset
_offset: number = 0
Protected _oneShoting
_oneShoting: boolean = false
Private _pauseFn
_pauseFn: Function
Private _playFn
_playFn: Function
Protected _startTime
_startTime: number = 0
Protected _state
_state: number = PlayingState.STOPPED
Protected _volume
_volume: number = 1
The main lesson learnt during the porting is, be very careful with the getter methods on InnerAudioContext, serious performance issue have been encountered when accessed frequently. For now this includes duration, current time and volume, so those are all maintained manually here.