我想用QT 5.2.1编译一些旧的QT项目并且有很多麻烦,其中一个是QSound问题:
if(!QSound::isAvailable()) {
ui.grpSounds->setEnabled(false);
ui.grpSounds->setTitle(tr("Sounds (Not Available)"));
}
错误: 'isAvailable'不是'QSound'的成员
有人会帮助我吗?我是Qt的全新手。 谢谢。答案 0 :(得分:1)
如果您想通知用户是否可以播放声音,那么您最好的选择是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
答案 1 :(得分:0)
根据类引用,Qt 5.2没有Sound :: isAvailable()静态方法http://qt-project.org/doc/qt-5/qsound.html
这是在Qt4.8