Qt QML除非播放背景音乐,否则音效中没有音频

Qt QML除非播放背景音乐,否则音效中没有音频,qt,qml,background-music,soundeffect,Qt,Qml,Background Music,Soundeffect,我正在使用Qt5.14.2运行一个QML应用程序,注意我的音效不会播放(生成声音),除非我也播放背景音乐。我已通过控制台日志确认没有错误、有效的音频文件等(11 kbps、16位PCM、1通道、wav)。我还尝试了41kbps的采样率,没有变化 我可以用Win32和安卓a8复制这个。音频文件是资产文件(不是QRC) 示例代码: SoundEffect { id: effect source : "click.wav" loops : 1 vo

我正在使用Qt5.14.2运行一个QML应用程序,注意我的音效不会播放(生成声音),除非我也播放背景音乐。我已通过控制台日志确认没有错误、有效的音频文件等(11 kbps、16位PCM、1通道、wav)。我还尝试了41kbps的采样率,没有变化

我可以用Win32和安卓a8复制这个。音频文件是资产文件(不是QRC)

示例代码:

SoundEffect {
    id: effect
    source  : "click.wav"
    loops : 1
    volume : 0.8
    muted : false
}

function play() {
    effect.play()
}
在这种情况下,示例代码的问题是,过于简单的示例可能会起作用。首先播放48k立体声文件可能会搞乱音频播放器-找到一个可重复性最低的示例是不现实的。所以希望有人知道关于这个话题的一个普遍的Qt问题。我看到2017年的帖子中有类似的问题,但没有解决方案

wav文件应在不依赖其他wav文件/音效播放的情况下播放


需要注意的是,sound effect音频文件的长度为0.477秒。

经过多次尝试和错误,我将其缩小为Qt音频播放器的问题。当音频文件很短(例如:0.5秒)时,它有时不能作为音效播放

作为一种解决方案,我在音频文件的末尾附加了1秒的静音,现在它可以持续播放