Qt и звуки

Меня всегда радовало разнообразие возможностей по работе со звуком в Линуксе.

Сегодня, например, несколько часов подряд взрывал себе мозг на тему QSound в Qt. Дело в том, что под Виндой, чтобы воспроизвести звуковой эффект без извращений, нужно просто вызвать статический метод QSound::play("имя файла"). В Линуксе тоже так можно, но чтобы звук действительно прозвучал — надо ставить NAS. Узнав об этой необходимости, принялся ставить оный, параллельно размышляя, как лучше заставить пользователей проделать то же самое. Мозги начали нагреваться.

Когда с nasd возникли какие-то проблемы, быстренько переключился на поиск альтернатив. Уже задумался о компиляции версии под Линукс с Phonon. Остановил тот факт, что фононовский учебный проект из состава Qt SDK не собрался out of the box. Попробовал учебный проект QAudioOutput оттуда же — не работает.

Уже начал было впадать в уныние, но в конце-концов осенило:

#ifdef Q_WS_X11
  QProcess::startDetached("play mysound.wav");
#else
  QSound::play("mysound.wav");
#endif

Вроде бы, ерундовая задача, а — чуть стол головой не разбил. Так жить нельзя.

Комментарии