更新时间:2024-03-30 23:48
Qsound是Qt库提供的类。
Qsound是Qt库提供的类。
QSound提供对平台音频设备的访问。
Qt提供了在大多数GUI应用程序中通常都需要的操作:异步播放声音文件。这用一个单呼叫就能简单的完成:
第二个API是被用来根据一个声音文件创建一个QSound对象并且随后就播放它:
用以上第二种方式播放声音虽然也许会消耗更多的内存,但依靠底层平台的音频设备,比起第一种方式播放声音起来更直接。
在微软Windows下使用的底层多媒系统,仅支持WAVE格式的声音文件。
在X11下有效的使用了网络音频系统,另外所有的操作工作都在默默的进行着。NAS支持WAVE和AU文件。
有趣的是,在苹果机上,我们使用QT(QuickTime)来播放声音,这意思就是说所有的QuickTime格式被Qt/Mac所支持。
在Qt/Embedded中,使用了内建混声服务器,可以直接访问/dev/dsp。其仅仅可以支持WAVE格式。
用QSound::isAvailable()可以测试支持的声音。
也可以参考多媒体类。
公有成员
公有槽
静态公有成员
QSound::QSound
( const QString & filename, QObject * parent = 0, const char * 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
( const QString & filename ) [静态]
播放一个叫做filename的文件中的声音。
void QSound::play () [槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
开启声音播放。该数数立即返回。依靠平台的音频设备,其它的声音也许被停止,也许被新的声音混合。
在任何时候声音可以再次播放,可能混合或者替代先播放的声音。
void QSound::setLoops
( int l )
当它播放时设置声音重复一次。超过-1的值也许会引起声音的死循环。
在Windows中, 不同于1的循环次数的声音将总是死循环。
void QSound::stop () [槽]
停止声音播放。