代码之家  ›  专栏  ›  技术社区  ›  Abednego Js

Isaavailable不是QSound的成员

  •  1
  • Abednego Js  · 技术社区  · 12 年前

    我想用QT5.2.1编译一些旧的QT项目,但有很多问题,其中之一是QSound问题:

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

    错误: “isAvailable”不是“QSound”的成员

    有人帮我吗?我对Qt完全是新手。 非常感谢。

    2 回复  |  直到 12 年前
        1
  •  1
  •   UmNyobe    12 年前

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

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

    例如,您可以替换 QSound::isAvailable() 通过

    !QAudioDeviceInfo::availableDevices(QAudio::AudioOutput).isEmpty()
    

    编辑:

    QSound 以前是gui模块的一部分,现在是多媒体模块的一个部分(这更有意义)。你需要看看 changes in multimedia modules from Qt4 to Qt5 了解更多信息。你可能还想看看 QSoundEffect ,似乎具有更丰富的API

        2
  •  0
  •   matekm    12 年前

    根据类引用,Qt 5.2没有Sound::isAvailable()静态方法 http://qt-project.org/doc/qt-5/qsound.html

    那是在第4.8季度