У меня есть небольшая программа C++ Qt, которая использует экземпляр QAudioOutput для испускания звука. Он компилирует & работает отлично, используя Qt 4.8.5.Воспроизведение аудио через ALSA поддерживается в Qt5?
Однако в Qt 5.0, 5.1 и 5.2 мое приложение компилируется, но не работает. При создании конструктора экземпляра QAudioOutput появляется следующее сообщение об ошибке:
Невозможно создать соединение с контекстом pulseaudio.
Кроме того, конструктор не возвращается, поэтому моя программа зависает.
У меня нет пульсации. ALSA работает нормально, и это то, что моя программа использует при компиляции с Qt 4.8.5.
Осмотр Qt5 «плагинов/аудио», там есть только «libqtmedia_pulse.so», название которого предполагает, что это зависит от pulseaudio.
Мои вопросы:
- Есть ли еще бэкенд для вывода ALSA (без PulseAudio) в Qt 5 +?
- Если да, то как я могу убедиться, что он построен? Я не вижу никаких настроек для этого.
- Похоже, что ошибка в том, что конструктор QAudioOutput зависает мое приложение. Где я могу сообщить об этом?
Вы сами построили Qt? Возможно, вам придется включить плагин ALSA audio, чтобы заставить его работать. Он определенно должен поддерживаться в соответствии с документом [Qt Multimedia Backends] (http://qt-project.org/wiki/Qt_Multimedia_Backends). Вы также можете посмотреть [класс QAudioDeviceInfo] (http://qt-project.org/doc/qt-5.0/qtmultimedia/qaudiodeviceinfo.html), чтобы узнать, какие аудиоустройства были распознаны. – deGoot
Получили ли вы свой звук? –
Эй. Вы считали, что это закрытие? –