返回介绍

QSound类

发布于 2019-10-04 15:02:45 字数 2749 浏览 1196 评论 0 收藏 0

QSound提供对平台音频设备的访问。 详情请见……

#include <qsound.h>

继承了QObject。

所有成员函数的列表。

公有成员

  • QSound ( constQString&filename, QObject*parent = 0, constchar*name = 0 )
  • ~QSound ()
  • int loops () const
  • int loopsRemaining () const
  • void setLoops ( intl )
  • QString fileName () const
  • bool isFinished () const

公有槽

  • void play ()
  • void stop ()

静态公有成员

  • bool isAvailable ()
  • void play ( constQString&filename )
  • bool available ()

详细描述

QSound提供对平台音频设备的访问。

Qt提供了在大多数GUI应用程序中通常都需要的操作:异步播放声音文件。这用一个单呼叫就能简单的完成:

        QSound::play("mysounds/bells.wav");
    

第二个API是被用来根据一个声音文件创建一个QSound对象并且随后就播放它:

        QSound bells("mysounds/bells.wav");

        bells.play();
    

用以上第二种方式播放声音虽然也许会消耗更多的内存,但依靠底层平台的音频设备,比起第一种方式播放声音起来更直接。

在微软Windows下使用的底层多媒系统,仅支持WAVE格式的声音文件。

在X11下有效的使用了网络音频系统,另外所有的操作工作都在默默的进行着。NAS支持WAVE和AU文件。

有趣的是,在苹果机上,我们使用QT(QuickTime)来播放声音,这意思就是说所有的QuickTime格式被Qt/Mac所支持。

在Qt/Embedded中,使用了内建混声服务器,可以直接访问/dev/dsp。其仅仅可以支持WAVE格式。

用QSound::isAvailable()可以测试支持的声音。

也可以参考多媒体类。


成员函数文档

QSound::QSound ( constQString&filename, QObject*parent = 0, constchar*name = 0 )

构造一个QSound能够快速的通过一个名为filename的文件来播放声音。

这也许会比静态函数play使用更多的内存。

父类parent和名称name的参数(默认为0)被传递给了QObject的构造函数。

QSound::~QSound ()

销毁声音对象。

bool QSound::available () [静态]

如果可以有效的支持就返回真,否则返回假。

QString QSound::fileName () const

返回与声音有关的文件名。

bool QSound::isAvailable () [静态]

如果在该平台上存在声音设备便返回真,否则返回假。应用程序要么当声音是十分重要时选择报告用户要么就默默的操作而不麻烦用户了

如果没有有效的声音,所有的QSound操作工作安静且快速。

bool QSound::isFinished () const

当声音播放完成时返回真,否则返回假。

int QSound::loops () const

返回声音将播放的次数。

int QSound::loopsRemaining () const

返回声音将循环的次数。该值在每次声音循环后会减少。

该函数在窗口下不支持并且总是返回循环的总数。

void QSound::play ( constQString&filename ) [静态]

播放一个叫做filename的文件中的声音。

实例:sound/sound.cpp。

void QSound::play () [槽]

这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。

开启声音播放。该数数立即返回。依靠平台的音频设备,其它的声音也许被停止,也许被新的声音混合。

在任何时候声音可以再次播放,可能混合或者替代先播放的声音。

void QSound::setLoops ( intl )

当它播放时设置声音重复一次。超过-1的值也许会引起声音的死循环。

在Windows中, 不同于1的循环次数的声音将总是死循环。

也可以参考loops()。

void QSound::stop () [槽]

停止声音播放。

也可以参考play()。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文