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); } } } } }
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); } }