QtCreator CMakeLists.txt新增模組(Modules)

SpringCore發表於2024-06-16

修改以下位置,新增模組

...
set(CMAKE_CXX_STANDARD 20) # 設定C++標準
# 查詢Qt6
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets **Multimedia**)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets **Multimedia**)
...
# 連結Qt6模組和庫
target_link_libraries(CoinFlip PRIVATE Qt${QT_VERSION_MAJOR}::Widgets **Qt${QT_VERSION_MAJOR}::Multimedia**)
...

加粗部分為新增的模組;與'.pro'新增:QT += multimedia 的效果一致。

備註一些內容:

QT6中不存在QSound類,QT5.15是最後一個提供QSound類的Qt版本。在QT6中,QSoundEffect類應該被用來替代QSound。

QSoundEffect類用於播放簡單的聲音效果。它可以載入WAV檔案,並在應用程式中播放它們。

以下是如何使用QSoundEffect類的一個基本示例:

#include <QSoundEffect>
 
QSoundEffect *soundEffect = new QSoundEffect;
soundEffect->setSource(QUrl::fromLocalFile("path_to_your_sound_file.wav"));
soundEffect->setLoopCount(QSoundEffect::Infinite);
soundEffect->setVolume(1.0);
soundEffect->play();

在這個例子中,建立了一個QSoundEffect物件,設定了音效的原始檔路徑,設定了迴圈次數為無限次,並設定了音量為最大。然後播放這個音效。

注意:

  1. 需要確保音訊檔案是WAV格式,因為QSoundEffect不支援其他格式的音訊檔案。
  2. 需要處理QSoundEffect物件的狀態和錯誤。例如,如果檔案不存在或檔案格式不正確,soundEffect->play()將返回false。
  3. QSoundEffect類提供了更多的功能和靈活性,例如可以調整音效的音量,播放速度等。如果需要更高階的聲音處理功能,應該使用QSoundEffect類。

相關文章