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

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

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

Индекс Форматы Доставка Декодирование Воспроизведение Проверка Канонический JSON Руководство
Стабильный ID Правило Требование Причина Источник
audio.decoding.wav-chunk-order Порядок чанков WAV Предоставляйте RIFF/WAVE с одним пригодным чанком fmt и непустым чанком data; AudioBaker обходит чанки в любом порядке, пропускает неизвестные и учитывает выравнивание нечётного размера. Реальные экспортёры часто вставляют чанки метаданных или меняют местами fmt и data, поэтому baker проверяет границы чанков, а не предписывает узкую последовательность. Source/Tools/AudioBaker.cpp
audio.decoding.wav-pcm-width Разрядность WAV PCM Создавайте WAV как PCM с разрядностью 8, 16, 24 или 32 бита либо IEEE float с разрядностью 32 бита; число каналов и частота дискретизации должны быть положительными, а выравнивание блока — соответствовать заявленной форме кадра. AudioBaker преобразует каждый поддерживаемый sample в signed 16-bit перед кодированием Vorbis и отклоняет обрезанные кадры или несогласованные метаданные формата. Source/Tools/AudioBaker.cpp
audio.decoding.acm-shape Проверка запечённого payload Отклоняйте сгенерированный или скопированный без перекодирования payload, если libvorbisfile не открывает его как корректный поток Vorbis. Граница запекания выявляет некорректные нативные входные данные и результат кодировщика до попытки воспроизведения клиентом; затем runtime читает число каналов и частоту дискретизации из проверенного потока. Source/Tools/AudioBaker.cpp
audio.decoding.ogg-streaming Streaming Ogg Ожидайте декодирование Ogg Vorbis порциями 64 KiB на native и 128 KiB на Web; короткие файлы сохраняются целиком и освобождают stream после первого декодирования. AudioManager использует платформенный размер streaming-порции и очищает OggStream, когда первое чтение достигает EOF. Source/Client/AudioManager.cpp
audio.decoding.device-conversion Преобразование устройства Позвольте AppAudio до воспроизведения преобразовать формат samples, число каналов и частоту в формат активного устройства вывода SDL. AudioManager не требует совпадения авторских ресурсов с одним фиксированным аппаратным форматом. Source/Client/AudioManager.cpp, Source/Frontend/Application.cpp
audio.decoding.callback-mixing Микширование в audio callback Считайте воспроизведение работой клиентского audio callback; изменения списка активных звуков должны удерживать lock аудиоустройства. Callback потока SDL просит AudioManager заполнить вывод, пока операции play/stop/update игрового потока могут добавлять, изменять или удалять звуки. Source/Client/AudioManager.cpp, Source/Frontend/Application.cpp
audio.decoding.unsupported-extension Единственный runtime-декодер Проводите авторское аудио через AudioBaker и позволяйте AudioManager декодировать каждый результирующий ресурс как Ogg Vorbis независимо от сохранённого исходного суффикса. Исходники с неподдерживаемыми расширениями не попадают в Audio baker, а в runtime нет диспетчеризации по суффиксу, которая могла бы незаметно принять пустой payload или данные другого формата. Source/Client/AudioManager.cpp
Введите запрос.