예제 #1
0
 private void _UpdateSoundSystem()
 {
     lock (m_soundSystemLock)
     {
         if (m_soundIsStreaming)
         {
             if (m_isPlaySignal)
             {
                 if (m_streamSoundHandle.sourceProvider.IsFinished)
                 {
                     m_audioPlayer.RemoveSoundFromMixer(m_streamSoundHandle);
                     m_streamSoundHandle = m_audioPlayer.PlayHandledSound(m_streamBGMSound);
                     m_isPlaySignal      = false;
                 }
             }
             else
             {
                 if (m_streamSoundHandle.sourceProvider.IsFinished)
                 {
                     m_audioPlayer.RemoveSoundFromMixer(m_streamSoundHandle);
                     m_streamSoundHandle = m_audioPlayer.PlayHandledSound(m_streamBGMSound);
                 }
             }
         }
     }
 }
예제 #2
0
        private void _SetSoundStreamingOn()
        {
            int level = _GetCurrentStreamingQualityLevel();

            if (level >= m_cachedSound_bgms.Count)
            {
                level = m_cachedSound_bgms.Count - 1;
            }

            lock (m_soundSystemLock)
            {
                m_soundIsStreaming = true;
                m_isPlaySignal     = true;

                m_streamBGMSound = m_cachedSound_bgms[level];

                m_streamSoundHandle = m_audioPlayer.PlayHandledSound(m_cachedSound_signal);
            }
        }