Звук: что выбрать и с чего начать
Плеер, шина и эффект решают разные задачи. Выберите нужную инструкцию и проверьте маршрут звука.
Выберите задачу
| Что нужно | Инструкция |
|---|---|
| Щелчок кнопки, музыка, запуск и пауза | Воспроизведение и позиционный звук |
| Звук слева/справа, расстояние до объекта | Там же: отдельные полные примеры для 2D и 3D |
| Ползунки музыки, эффектов и интерфейса | Шины и громкость |
| Фильтр, реверберация, компрессор, анализ сигнала | Эффекты и захват сэмплов |
| Индикатор времени, ритм, пауза и перемотка | Часы аудио |
| Запись голоса с устройства | Микрофон |
| Озвучивание текста средствами системы | Синтез речи |
Как проходит сигнал
AudioStream — ресурс звука. AudioStreamPlayer создаёт его воспроизведение и передаёт сигнал в шину. Шина применяет эффекты, затем свою громкость и направляет результат в принимающую шину; в конце маршрут приходит в Master и аудиодрайвер.
Один ресурс можно использовать в нескольких плеерах: позиции и паузы воспроизведения у них отдельные. Изменение самого ресурса, например его режима цикла, остаётся общим. Шины тоже глобальны для запущенного проекта; не создавайте одинаковую цепочку заново для каждой пули.
Первый запуск без внешних файлов
В руководстве по плеерам есть DemoTone.cs и SoundDemo.cs. Создайте C#-проект, уровень с корнем Control, прикрепите SoundDemo, соберите и запустите F6. Весь интерфейс и короткий тестовый звук создаются кодом. Ожидаемый результат: кнопка запускает тон, пауза сохраняет позицию, продолжение возобновляет её. Если C#-сборка ещё не настроена, начните с первого проекта.
Для готового файла добавьте его в проект, дождитесь импорта, назначьте ресурс в Stream и выберите Bus. Импорт и декодер — отдельные этапы: переименование расширения не конвертирует звук. Подробности форматов — в импорте аудио.
Если ничего не слышно
Проверяйте по цепочке: Stream назначен → плеер в дереве → вызван Play() → нет паузы → нужная шина и Master не заглушены → для 2D/3D есть слушатель в правильном viewport → источник в пределах дистанции → выбрано нужное устройство вывода. Движение индикатора шины доказывает наличие сигнала в микшере, но не работу колонок. Драйвер Dummy микширует данные без вывода на устройство.