Получить текущее время воспроизведения AudioSource перед отключением объекта - PullRequest
0 голосов
/ 21 января 2019

Есть ли способ получить текущее время воспроизведения аудио, воспроизводимого аудиоисточником, до того, как его родительский элемент станет отключенным?

У меня есть этот игровой объект, в котором есть компонент аудиоисточника, воспроизводящий звук, и я хочу получить текущее время воспроизведения звука до того, как игровой объект будет отключен. Я пытаюсь получить его на void OnDisable(), но он не работает.

void OnDisable()
{
AudioSource audiSource = GetComponent<AudioSource>();
Debug.Log(audiSource.timeSamples);
}

Этот скрипт всегда возвращает ноль.

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Убедитесь, что к AudioSource подключен звук к свойству Clip.AudioSource.timeSamples, кажется, работает, только если звук применяется к полю Clip, либо в инспекторе, либо через скрипт.Если вы используете AudioSource.PlayOneShot, вы всегда получите 0.

0 голосов
/ 21 января 2019

Я думаю, что вы в основном создаете новую ссылку на AudioSource объект.

Вашему классу должно понравиться это:

AudioSource _audioSource;

void Start(){
_audioSource=GetComponent<AudioSource>();
}

void OnDisable(){
Debug.Log(_audioSource.timeSamples);
}
...