'QT paly audio by QAudioDevidce can't connect to PulseAudioService

Like title, i'm trying to use Qt and FFmpeg to play audio. My code like this:

QAudioOutput *audio_output;

    QIODevice *stream_out;

    QAudioFormat audio_fmt;
    audio_fmt.setSampleRate(44100);
    audio_fmt.setChannelCount(2);
    audio_fmt.setSampleSize(16);
    audio_fmt.setCodec("audio/pcm");
    audio_fmt.setByteOrder(QAudioFormat::LittleEndian);
    audio_fmt.setSampleType(QAudioFormat::SignedInt);
    
    QAudioDeviceInfo info = QAudioDeviceInfo::defaultOutputDevice();
    if(!info.isFormatSupported(audio_fmt))
    {
        audio_fmt = info.nearestFormat(audio_fmt);
    }
    
    audio_output = new QAudioOutput(audio_fmt);

When i use QAudioDeviceInfo info = QAudioDeviceInfo::defaultOutputDevice() i get PulseAudioService: pa_context_connect() failed error. So how can i fix it? By the way, i'm using Ubuntu 16.04 and Qt 5.14.2, and i have add 'mutilmedia' to Qt pro file

I checked my Qt file ,and i have audio dir in plugins, it's not lib problem. Also, i read this post ,but i don't know how to fix it, anybody have idea? Thank you guys,and my English is bad, wish you can understand what do i say.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source