詳細描述
Qsound是Qt庫提供的類。
QSound提供對平台音頻設備的訪問。
Qt提供了在大多數GUI應用程式中通常都需要的操作:異步播放聲音檔案。這用一個單呼叫就能簡單的完成:
QSound::play("mysounds/bells.wav");
第二個API是被用來根據一個聲音檔案創建一個QSound對象並且隨後就播放它:
用以上第二種方式播放聲音雖然也許會消耗更多的記憶體,但依靠底層平台的音頻設備,比起第一種方式播放聲音起來更直接。
在微軟Windows下使用的底層多媒系統,僅支持WAVE格式的聲音檔案。
在X11下有效的使用了網路音頻系統,另外所有的操作工作都在默默的進行著。NAS支持WAVE和AU檔案。
有趣的是,在蘋果機上,我們使用QT(QuickTime)來播放聲音,這意思就是說所有的QuickTime格式被Qt/Mac所支持。
在Qt/Embedded中,使用了內建混聲伺服器,可以直接訪問/dev/dsp。其僅僅可以支持WAVE格式。
用QSound::isAvailable()可以測試支持的聲音。
也可以參考多媒體類。
成員列表
公有成員
•QSound ( const QString & filename, QObject * parent = 0, const char * name = 0 )
•~QSound ()
•int loops () const
•int loopsRemaining () const
•void setLoops ( int l )
•QString fileName () const
•bool isFinished () const
公有槽
•void play ()
•void stop ()
靜態公有成員
•bool isAvailable ()
•void play ( const QString & filename )
•bool available ()
成員函式文檔
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 () [槽]
停止聲音播放。