Qt5 QSound的使用发现

    之前写程序的时候,要用到QSound,上网查了一下资料,也搜了一下帮助文档,在应用中出现的问题总结一下

    首先,用QSound 要在.pro文件中加QT += multimedia,

    添加头文件

    我实际中第一个用到的地方是一个lineedit回车后根据内容查询不到内容的警报声

            QSound bells(":/xx/warning.wav");
            bells.play();          
            QMessageBox::information(NULL,"提示","查询结果不存在");

    这样使用正常,在这个地方因为音频很长,提示框点确定就结束播放了,不到因为时长

    第二个地方,是lineedit回车后根据内容查询成功的成功提示音,也用了上面的方法,因为是查询成功,不需要使用QMessageBox,这时出了问题,没有声音

    然后试着加了QMessageBox,是正常的,声音可以播放,但是这个地方不适合加QMessageBox,需要改

      然后试着用这样的写法

            QSound *sound = new QSound(":/xx/success.wav");
            sound->play();
    这个地方的成功提示音很短,这时播放正常,

     这个时候没有弄懂这两种用法的区别,试着把第一个地方也用了指针的方式,这里提示框点了确定之后音频仍在继续播放,直到时长结束

      虽然到最后依然没有弄明白这两种使用方式,有这两种不同结果的原因,但已经解决了我的问题,希望能对其他人也有所帮助,会继续学习弄清原理,感兴趣的人可以自己试一下。

你可能感兴趣的:(Qt5 QSound的使用发现)