FOnline Engine
Current master GitHub
Документация Docs/ru/reference/audio/validation.md

Контракт проверки аудио

Сгенерированный справочник. Не редактируйте его источник напрямую. Обновите BuildTools/AudioInterface.json, затем выполните python BuildTools/docs_audio.py --write.

Индекс Форматы Доставка Декодирование Воспроизведение Проверка Канонический JSON Руководство
Стабильный ID Правило Требование Причина Источник
audio.validation.generated-reference Справочник по исходникам Перегенерируйте и проверяйте audio-модель при изменении AudioBaker, AudioManager, AppAudio, настроек, доставки пакета или script entry points. Сгенерированная модель выявляет drift расширений исходников, runtime-кодека, размера порции, настройки, handle, набора тестов и headless-поведения до незаметного устаревания текста. BuildTools/docs_audio.py
audio.validation.raw-copy Гейт запекания аудио Запеките репрезентативные входы PCM/float WAV и нативного Ogg, убедитесь в сохранении авторских путей, проверьте счётчики аудио и откройте каждый результат как Vorbis. Сфокусированные тесты доказывают преобразование и passthrough, а запекание во встраиваемом проекте доказывает, что его пакет действительно выбирает Audio и поставляет ресурсы, используемые скриптами. Source/Tests/Test_AudioBaker.cpp, Source/Tools/AudioBaker.cpp
audio.validation.decoder-diagnostics Диагностика декодера Считайте исключения AudioBaker и диагностику открытия Ogg, декодирования или преобразования устройства ошибками авторинга либо упаковки; не принимайте нулевой handle воспроизведения за проверку контента. WAV и Ogg без перекодирования отклоняются во время запекания, а существующий ресурс, который нельзя декодировать в runtime, записывает ошибку и входит в debugger вместо незаметного успеха с тишиной. Source/Tools/AudioBaker.cpp, Source/Client/AudioManager.cpp
audio.validation.headless-boundary Граница headless Не заявляйте слышимую проверку по headless- или stub-приложению; AppAudio там отключён, а воспроизведение может сообщить о no-op success. Headless-аудио намеренно не предоставляет активного устройства или callback. Source/Frontend/ApplicationHeadless.cpp
audio.validation.native-test-gap Сфокусированное нативное покрытие Запускайте Test_AudioBaker и Test_AudioManager для запекания WAV/Ogg, passthrough, ошибочных входов, панорамирования, позиционированного воспроизведения, текущих обновлений, истечения handles и вывода mixer. Эти suites напрямую исполняют контракт кодека и callback; видимый клиент всё ещё нужен, чтобы доказать работу реального платформенного устройства и слышимый вывод. Source/Tests/README.md, BuildTools/docs_audio.py
audio.validation.visible-client Видимая слышимая проверка На каждой заявленной платформе используйте видимый клиент с включённым аудио: воспроизведите запечённый ресурс с WAV-путём и ресурс с нативным Ogg-путём, переместите позиционированный звук, замените музыку, проверьте отложенный и немедленный повтор и крайние значения громкости. Только активное платформенное аудиоустройство доказывает преобразование, планирование callback, микширование и слышимый вывод. Source/Frontend/Application.cpp, Source/Client/AudioManager.cpp
audio.validation.project-boundary Владение встраиваемого проекта Храните соглашения каталога, spatial/recipient-политику, мастеринг, лицензии, атрибуцию, бюджеты и игровые триггеры в проектной документации и тестах. Движок предоставляет запекание, runtime-декодирование, клиентский mixer и параметры позиционирования, а не полный игровой аудиодизайн или систему управления ресурсами. Source/Client/AudioManager.h

Команды проверки

python BuildTools\docs_audio.py --check
python -m unittest BuildTools.tests.test_docs_audio
cmake --build <build-dir> --config RelWithDebInfo --target RunUnitTests

Сейчас нет сфокусированного нативного fixture декодера/воспроизведения. Встраиваемый проект также должен запечь репрезентативные WAV, ACM и Ogg, вызвать эффекты и музыку в видимом клиенте с включённым аудио, проверить логи и поведение громкости/повтора на каждой заявленной платформе.

Введите запрос.