internal static AudioSessionState AsAudioSessionState(this EAudioSessionState state) { switch (state) { case EAudioSessionState.AudioSessionStateInactive: return(AudioSessionState.Inactive); case EAudioSessionState.AudioSessionStateActive: return(AudioSessionState.Active); case EAudioSessionState.AudioSessionStateExpired: return(AudioSessionState.Expired); default: throw new ArgumentOutOfRangeException(nameof(state), state, null); } }
private void OnStateChanged(EAudioSessionState state) { _stateChanged.OnNext(new SessionStateChangedArgs(this, state.AsAudioSessionState())); }
int IAudioSessionEvents.OnStateChanged(EAudioSessionState state) { _state = state.AsAudioSessionState(); OnStateChanged(state); return(0); }