2013-01-01 69 views
2

我希望我的應用程序發出標準通知聲音,在Windows上稱爲「默認聲音」。我沒有看到用QSound參考系統聲音的方法。沒有聲音分配的QSound實例用於播放此聲音,但它在Qt 5中得到了修復。有什麼方法可以實現?使用Qt播放特定系統聲音

如果解決方案只適用於Windows(但我希望它可以在任何支持的操作系統上編譯,並且不想使用#ifdef和Win API),那就沒有問題。

回答

1

使用聲子(http://qt-project.org/doc/qt-4.8/phonon-overview.html),一個Qt庫,它是能夠播放音/視頻,...

對於文件的路徑,你應該使用環境變量的WINDOWS目錄下,然後硬代碼中的聲音文件

但路徑的末尾:我想它可能一個好主意,因爲該系統的聲音可以個性化......爲了獲得個性化的聲音的路徑時,需要閱讀Windows註冊表...

編輯:您可以使用QSettings類能夠讀取Windows註冊表 例如像:

QSettings settings("HKEY_CURRENT_USER\\AppEvents\\Schemes\Apps\\.Defaults\\..TODO..", QSettings::NativeFormat); 
+0

要讀兩遍,一點點幫助:閱讀部分:「回放」,甚至有一個例子 – benjarobin

+0

爲什麼不硬編碼聲音文件的路徑?請參閱已編輯的答案 – benjarobin

+0

現在您的答案已完成,但我想知道是否有更好的方法,即跨平臺的方法。您的解決方案甚至無法解釋當前的聲音主題。 –