c++ - Isavailable 不是 QSound 的成员

标签 c++ qt qt4 qt5

我想用 QT 5.2.1 编译一些旧的 QT 项目,遇到了很多麻烦,其中之一是 QSound 问题:

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

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

有人愿意帮助我吗?我是 Qt 的新手。 谢谢。

最佳答案

如果您想通知用户是否可以播放声音,那么最好的选择是 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

关于c++ - Isavailable 不是 QSound 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22294211/

相关文章:

c++ - QCompleter 运行时崩溃

c++ - 显示 QMenu 以响应在 QLabel 中右键单击,可能吗?

qt - 背景图像未显示在 QWidget 上

qt - 使用 Qt4 调用 REST 服务

css - 我可以更改 QToolbar 样式的哪些属性?

c++ - 我应该避免在 C++ 中使用#define 吗?为什么,我可以使用哪些替代方案?

c++ - 在 C++ 中使用 cstrings 建立路径的正确方法

c++ - fatal error : QtGui/QApplication: No such file or directory

C++ WINAPI 隐藏的单选按钮没有取消选中

c++ - cvQueryFrame() 在文件结束前返回 NULL