Isivailable不是Qsound的成员

Isavailable is not a member of QSound

本文关键字:成员 Qsound 不是 Isivailable      更新时间:2023-10-16

我想用QT 5.2.1编译一些旧的QT项目,并且有许多麻烦,其中之一是QSOUND问题:

if(!QSound::isAvailable()) {
    ui.grpSounds->setEnabled(false);
    ui.grpSounds->setTitle(tr("Sounds (Not Available)"));
}

错误: " Isvailable"不是" Qsound"的成员

有人会帮我吗?我是QT的新手。谢谢。

如果要通知用户是否可以播放声音,那么最好的选择是qaudiodeviceinfo。您可以使用静态方法查询可用的输入或输出设备

QList<QAudioDeviceInfo> QAudioDeviceInfo::availableDevices(QAudio::Mode mode)

例如,您可以通过

替换QSound::isAvailable()
!QAudioDeviceInfo::availableDevices(QAudio::AudioOutput).isEmpty()

编辑:

QSound是GUI模块的一部分,但现在是多媒体模块的一部分(这更有意义)。您需要查看从QT4到QT5的多媒体模块的更改,以获取更多信息。您可能还想看看QSoundEffect,它似乎具有更丰富的API

根据类参考,qt 5.2没有声音:: isavailable()静态方法http://qt-project.org/doc/doc/qt-5/qt-5/qssound.html

它在qt4.8