В кроссплатформенной (Linux, Android) программе необходимо проиграть wav файл.
В конструкторе делаю
_click = new QSound(":/sound/click.wav");
Там где нужно делаю
_click->play();
Что получаем? На Линуксе звук играет через раз. Точнее пару кликов молча, а потом звук отрабатывает нормально. Причём, если некоторое время программу не дёргать, то снова звука не будет, а потом появляется.
На Андроиде звук проигрывается нормально и с первого раза, но сразу после его завершения ОС отправляет программе неведомый SIG33.
Гугление показало, что во времена 5.1 версии Qt был какой-то баг с чтением аудиофайлов из Qt-ресурсов (qrc). А я храню «вавки» именно так. Но, вроде, исправили.
Перекодирование в низкий битрейт эффекта никакого не оказало.
Андроид в лог пишет странные вещи:
V/AudioSystem(14381): ioConfigChanged() event 0, ioHandle 2
V/AudioSystem(14381): ioConfigChanged() new output samplingRate 44100, format 0x1 channel mask 0x3 frameCount 1024 latency 92
V/AudioTrack(14381): set(): streamType 3, sampleRate 8000, format 0x2, channelMask 0x1, frameCount 0, flags #4, notificationFrames 0, sessionId 927, transferType 0
V/AudioTrack(14381): set() streamType 3, sampleRate 8000, format 2, frameCount 0, flags 0004
D/AudioTrack(14381): TrackOffload: AudioTrack Offload disabled by property, returning false
V/AudioSystem(14381): getLatency() output 2, latency 92
V/AudioSystem(14381): getFrameCount() output 2, frameCount 1024
W/AudioTrack(14381): AUDIO_OUTPUT_FLAG_FAST denied by client
V/AudioTrack(14381): createTrack_l() output 2 afLatency 92
V/AudioTrack(14381): afFrameCount=1024, minBufCount=4, afSampleRate=44100, afLatency=92
V/AudioTrack(14381): minFrameCount: 557, afFrameCount=1024, minBufCount=3, sampleRate=8000, afSampleRate=44100, afLatency=92
V/AudioTrack(14381): Create normal PCM 0x1 Track
V/AudioTrack(14381): Flags here 0x0
V/AudioFlinger( 195): start(4104), calling pid 14381 session 927
V/AudioTrack(14381): timeout 1.010
V/AudioTrack(14381): timeout 1.010
V/AudioTrack(14381): timeout 1.010
V/AudioTrack(14381): timeout 1.010
V/AudioTrack(14381): timeout 1.010
V/AudioTrack(14381): timeout 1.010
Как кроссплатформенно, просто и безболезненно проиграть wav с помощью Qt?