Qt AudioOutput Проблемы с синхронизацией

У меня проблема с QAudioOutput и со временем вставки кусков в устройство вывода. Я открываю QAudioOuput с QIODevice под капотом и вставляю в него куски потока волновых файлов. Сначала я использовал QTimer и, в зависимости от частоты дискретизации файла, использовал сигнал тайм-аута для вставки фрагмента в буфер. Проблема в том, что если я это сделаю, аудиовыход связан с производительностью угрозы, в которую вложен QAudioOuput.

Поэтому я решил поместить свой "audiotimer" в поток и вызвать process() после помещения потока в спящий режим на определенный интервал. Каждый раз, когда я вызываю процесс, я посылаю сигнал другим классам перехватить и начать обработку аудиоданных. Это приводит к сбою, вызванному segfault при излучении сигнала.

В связи с тем, что документация QT 5.x не очень точна, как использовать QAudioDevice в режиме push, мне нужно знать, как правильно использовать таймер для помещения волновых чанков на выход в QT.

Просто чтобы вы знали, что у меня разные аудио-приемники, и я объединяю их в один аудио-выход.

0 ответов

Другие вопросы по тегам