Я пишу плагин аудиовхода для воспроизведения звука из буфера в памяти (это аудиопоток видео .mp4, декодируемый в другом месте программы). Мне удалось зарегистрировать этот плагин и написать обязательные обратные вызовы для обратного вызова GetFormat и Execute.
Декодированный аудиопоток в 16-битном целочисленном формате с фиксированной точкой для двухканального стереофонического формата. который я установил с помощью AkChannelConfig :: SetStandard, чтобы создать конфигурацию, а затем вызвать AkAudioFormat :: SetAll, чтобы установить оставшиеся значения формата.
В функции ExecuteCallback я получаю значение MaxFrames для объекта io_outbuffer и копирую это количестводанные в буфер, перед установкой кадров uValid в MaxFrames и eState - AK_Dataready.
В результате воспроизводится звук и совпадает с видео. Однако он не сглажен, содержит резкие «тиковые» звуки, которые, как я подозреваю, представляют собой небольшие импульсы статического электричества с, казалось бы, регулярными интервалами.
Кто-нибудь может помочь в достижении плавного воспроизведения звука с помощью этого исходного плагина?