Есть у меня audio которое имеет длину 1.04 минуты, т.е. 64
секунды.
Задача стояла такая: когда проиграется эта музыка два раза, идет пауза в минуту и затем начинается воспроизводиться другая музыка.
Сейчас проблема в следующем, сообщили что музыка обрывается, в итоге по замерам при старте <AudioSource>().clip.length
музыка имеет длину 71.5
секунды, итерация currentIteratorClipLength
должна увеличиться в момент когда музыка закончилась, дальше музыка начинается заново (стоит loop = true
) и вот только на 8 секунде новой музыке срабатывает итерация, из-за этого кажется что обрыв, я не пойму почему так
void Start()
{
_gameOnject = GameObject.Find("AudioManager/MusicContainer");
AudioManager.Instance.PlayTrack(pointerGameplayTrack, true);
StartCoroutine(WaitMusicPlayinsSecond());
}
private void Update()
{
//Debug.Log(_gameOnject.GetComponent<AudioSource>().time);
if (SceneManager.GetActiveScene().name == "Main")
{
if (isWaitTimer)
{
timerWait -= Time.deltaTime;
}
else
{
return;
}
if (timerWait <= 0.0f)
{ // Если все минуты исчерпались
currentIterator++;
if (currentIterator % 2 == 0) // итерация 1 - проигрываем новую музыку, 2 - старую
{
AudioManager.Instance.PlayTrack(pointerGameplayTrack, false, 1.0f);
}
else
{
AudioManager.Instance.PlayTrack(pointerGameplayTrack2, false, 1.0f);
}
if (GameManager.Instance.IsProfileMusicOn())
{
AudioManager.Instance.SetTrackMute(false); // Громкость на 1
}
isWaitTimer = false; // убираем зацикливание флагом
StartCoroutine(WaitMusicPlayinsSecond());
}
}
}
private IEnumerator WaitMusicPlayinsSecond()
{
YieldInstruction yi = new WaitForSeconds(_gameOnject.GetComponent<AudioSource>().clip.length);
Debug.Log("time clip " + _gameOnject.GetComponent<AudioSource>().clip.length);// - выдает 71.5с
while (currentIteratorClipLength < 2)
{
yield return yi;
currentIteratorClipLength++;
}
CheckSecondPlayingMusic();
if (currentIteratorClipLength >= 2)
{
currentIteratorClipLength = 0;
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Если больше людей с одного роутера заходят на сайт, превышается время ожидания ответа и как результат теряют соединение