petushok55
@petushok55
Обучаюсь на практике.

Как запустить аудио и дать ему айди, чтобы по нему потом остановить его?

Есть аудио, 5 секунд длится.
Оно запускается в определённый момент.
Но бывает и такое, что аудио уже запущено и полностью ещё не проиграло, но оно уже не актуально и надо бы его остановить, уничтожить или.. заглушить короче.
При всём этом нужно понимать, что параллельно может играть другое аудио, которое нельзя трогать.

Я думаю должен быть какой-то способ при запуске аудио дать ему идентификатор, чтобы по нему взаимодействовать именно с этим аудио. Я пока что не разобрался, ищу способ.
  • Вопрос задан
  • 31 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Ezekiel4
Охотник на пиратов и сборщик монолитов
В AudioSource есть несколько замечательных возможностей.
// Запускаете
myAudio.Start();

// Проверяете статус
if (myAudio.isPlaying) {
	// Можно и остановить
	myAudio.Stop();
}


Если вы хотите сделать как в аниматоре, просто передавая ключ и оно само влияет на всё, что надо, то можете создать нечто подобное для звука (структуру, описывающую состояние контроллера и класс со списком экземпляров этих структур и переходов между ними).
Если же хочется что-то "из коробки", можете попробовать объединить звуки в группы Audio Mixer и переходить между состояниями, используя Audio Mixer Snapshot.
Возможно вам также подойдёт это дополнение https://assetstore.unity.com/packages/tools/audio/...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы