예제 #1
0
        void SetPlaybackState(EAudioPlaybackState state)
        {
            UnityEngine.Assertions.Assert.IsTrue(IsReady());

            SetStreamState(state, m_state);
            m_state = state;
        }
        /// <summary>
        /// Update the internal streaming according to playback state.
        /// </summary>
        /// <param name="updated"></param>
        /// <param name="previous"></param>
        void SetStreamState(EAudioPlaybackState updated, EAudioPlaybackState previous)
        {
            switch (updated)
            {
            case EAudioPlaybackState.ePaused:
                m_source.Pause();
                break;

            case EAudioPlaybackState.ePlaying:
                if (previous == EAudioPlaybackState.eStopped)
                {
                    m_source.Play();
                }
                else
                {
                    m_source.UnPause();
                }

                break;

            case EAudioPlaybackState.eStopped:
                m_source.Stop();
                break;
            }
        }
        void SetPlaybackState(EAudioPlaybackState state)
        {
            UnityEngine.Assertions.Assert.IsTrue(IsReady());

            SetStreamState(state, m_state);
            m_state = state;
            m_events.playbackChangeEvent.Invoke(m_state);
        }
예제 #4
0
 void UpdateMat(EAudioPlaybackState state)
 {
     if (m_showingState != state)
     {
         m_renderer.material = state == EAudioPlaybackState.eStopped ? matStart : matStop;
         m_showingState      = state;
     }
 }
예제 #5
0
 void UpdateMat(EAudioPlaybackState state)
 {
     m_renderer.material = state == EAudioPlaybackState.ePaused ? matResume : matPause;
 }