Стандартный QSound и библиотека Phonon имеют серьезные проблемы с воспроизведением звука.Они оба требуют основного цикла сообщений, что означает либо небольшой блок в главном потоке, либо задержку воспроизведения звука.В конечном итоге они оба используют фоновую нить, но это легко заметить.Не говоря уже о том, что Phonon имеет сомнительную поддержку на многих платформах.
Я работал с обоими некоторое время и пытался создать простую звуковую систему для воспроизведения звуков пользовательского интерфейса (просто чтобы издавать звуковые сигналы и время от времени петь).Это просто невозможно при использовании стандартной библиотеки Qt.
Я бы порекомендовал использовать OpenAL, что я в итоге и сделал.Это относительно простая библиотека, которая, похоже, имеет хорошую кроссплатформенную поддержку.Другой вариант - SDL_mixer, но OpenAL, казалось, проще было установить в Windows (хотя, вероятно, не так много).Так что, в принципе, если QSound::play
не делает то, что вы хотите, то стандартный Qt API не будет работать для вас.
Еще одно важное замечание, не пытайтесь исправить звуковой API Qt, используяотдельная тема.Это не сработает.Фонон по крайней мере требует, чтобы был создан и вызван в основном потоке.