Проблема аудио выхода в Qt с использованием низкоуровневого API qmultimedia - PullRequest
3 голосов
/ 31 января 2011

Я пытаюсь заставить аудио декодер mpg123 работать с QT в Windows. Как воспроизвести декодированные аудиоданные на нужной скорости с помощью модуля Qmultimedia в режиме push. В настоящее время я использую простой таймер, чтобы заставить его воспроизводить звук, но это не очень эффективный способ сделать это, если я делаю что-то еще в то же время, звук искажается. Есть ли лучший способ отправить декодированные данные на аудио выход? Было бы хорошо, если бы кто-нибудь мог указать мне на какие-нибудь хорошие примеры, используя модуль Qmultimedia и класс Qaudiooutput. Я попытался выяснить пример проекта QT "audiooutput", но похоже, что он также использует таймер для отправки звука на выход в режиме push ... Надеюсь, я не слишком запутался.

1 Ответ

0 голосов
/ 07 ноября 2011

Я также должен был это выяснить, и я бы также предложил использовать для этого среду Phonon.Он использует Windows Media Player в качестве хоста для Windows, QuickTime для Mac и некоторые KDE для Linux.Так что она довольно независима от платформы.

Если вам нужна более низкоуровневая функциональность, вам стоит взглянуть на проект с открытым исходным кодом под названием portaudio.Он очень прост в использовании, и вы можете манипулировать или даже заполнять буферы из кода.Я использовал его для создания генератора.

Надеюсь, это поможет!

Best,

guitarflow

...