Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: QAudioDeviceInfo in Qt.5.2  (Прочитано 1264 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3271
    • Просмотр профиля
QAudioDeviceInfo in Qt.5.2
« : 06 Марта 2015, 12:03:42 »
Здравствуйте!

В Ubuntu-14.04 в Qt-5.2 обнаружилось, что функция QAudioDeviceInfo::availableDevices(QAudio::AudioInput),
похоже, просто зависает. Она вызывается в отдельном модуле для работы с звуком, он начинается с её вызова
и дальше него исполнение не идёт. Звуковая карта есть. В чём причина и что делать?
Пётр.

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3271
    • Просмотр профиля
Re: QAudioDeviceInfo in Qt.5.2
« Ответ #1 : 10 Марта 2015, 16:50:58 »
Оказалось, что дистрибутивному Qt для работы Audio требуется, чтобы был запущен pulseaudio,
а без него выдаётся сообщение, что невозможно создать контекст pulseaudio, и то же самое
сообщает аудиопример из qt5-examples. С запущенным pulseaudio работает.


Пользователь решил продолжить мысль [time]11 Март 2015, 10:21:21[/time]:
Оказалось, что не совсем работает. Зависания нет, но функция QAudioDeviceInfo::availableDevices(QAudio::AudioInput)
не видит входных устройств, возвращает пустой список.

Пользователь решил продолжить мысль [time]11 Март 2015, 12:36:22[/time]:
Я попытался установить padevchooser-0.9.4-1.1, но это не удалось - он требует libgnome-desktop-2-17,
а в системе libgnome-desktop-3-7. Принудительно устанавливать не пробовал.

Пользователь решил продолжить мысль 11 Марта 2015, 16:36:02:
Я добился того, что pavucontrol стал запускаться. Главное, что для этого потребовалось -
в /etc/init/pusleaudio.conf в команде "exec" запускать его без "--system".
Кроме того, если создавать при этом отдельный /var/log/pulse.log, то его тоже надо
указывать в команде "exec", а если в /etc/pulse/pulse-daemon.conf,
то тогда pavucontrol запускается только от root'а.

Теперь программа видит все три звуковые устройства, их там два в процессорном модуле
и ещё USB-карта. Для alsa 1-я - это USB-карта и мне нужна именно она, а pusleaudio файл
/etc/modprobe.d/alsa-base.conf не читает и входное и выходное устройства по умолчанию
для него другие. Теперь придётся в программе устанавливать устройства по умолчанию через
функции Qt, в 5-й версии они есть.
Как их указать через настроечный файл pusleaudio, я не знаю, хотя вроде бы можно
с помощью pactl или pacmd.
« Последнее редактирование: 11 Марта 2015, 16:36:02 от Peter_I »
Пётр.

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3271
    • Просмотр профиля
Re: QAudioDeviceInfo in Qt.5.2
« Ответ #2 : 12 Марта 2015, 09:56:41 »
Указал в /etc/pulse/default.pa входное и выходное устройства по умолчанию,
для этого в конец файла вставил set-default-source с именем usb-карты для входа
и set-default-sink с именем usb-карты для выхода, а имена взял из "pactl list", из "Name:".
Пётр.

 

Страница сгенерирована за 0.014 секунд. Запросов: 22.