tft每日頭條

 > 圖文

 > qt音樂播放器widget

qt音樂播放器widget

圖文 更新时间:2024-07-07 07:25:10

本章内容接着 Qt Quick中使用Material風格樣式 這一章的内容。

修改main.qml

import QtQuick import QtQuick.Controls //import QtQuick.Controls.Material import QtMultimedia ApplicationWindow { width: 640 height: 480 visible: true title: qsTr("Material風格") // Material.theme: Material.Dark MediaPlayer { id: playMusic source: "D:/yingyue/倆倆相忘.mp3" audioOutput: AudioOutput {} } Button { text: qsTr("播放") anchors.centerIn: parent highlighted: true // Material.accent: Material.Orange onClicked: playMusic.play() } }

第4行代碼引入QtMultimedia模塊

第13行至第17行代碼就是使用MediaPlayer播放音樂了。

第15行代碼定義音樂文件的路徑。

注:這裡讀者朋友要根據自己的實際需要進行定義。另外要注意路徑分隔符“/”的寫法。

第24行代碼就是響應播放按鈕的點擊事件,點擊播放後就會播放指定的音樂了。

注:這裡之前要是安裝Qt時使用的默認安裝的話,會報錯。因為默認安裝時是沒有安裝QtMultimedia模塊。這時可以打開開始菜單下的Qt文件夾中的Qt Maintenance Tool進行安裝。

qt音樂播放器widget(Quick中使用MediaPlayer播放音樂)1

qt音樂播放器widget(Quick中使用MediaPlayer播放音樂)2

qt音樂播放器widget(Quick中使用MediaPlayer播放音樂)3

這裡讀者朋友可以根據自己的需要選擇版本,我選擇的是最新的。

qt音樂播放器widget(Quick中使用MediaPlayer播放音樂)4

代碼修改好了,也安裝好了所需模塊,就構建運行程序,點擊“播放按鈕”,已經可以播放音樂了。

繼續修改代碼main.qml

import QtQuick import QtQuick.Controls //import QtQuick.Controls.Material import QtMultimedia ApplicationWindow { width: 360 height: 680 visible: true title: qsTr("Material風格") // Material.theme: Material.Dark MediaPlayer { id: playMusic source: "D:/yingyue/倆倆相忘.mp3" audioOutput: AudioOutput {} loops: MediaPlayer.Infinite } RoundButton { id: playButton text: qsTr("▷") highlighted: true onClicked: playMusic.play() } RoundButton { id: pauseButton text: qsTr("‖") highlighted: true anchors.left: playButton.right onClicked: playMusic.pause() } RoundButton { id: stopButton text: qsTr("□") highlighted: true anchors.left: pauseButton.right onClicked: playMusic.stop() } }

第17行程序loops屬性定義循環次數,我這裡取的是無限循環,因為我現在喜歡單曲循環[憨笑]如果不定義的話,默認是1次。

構建運行程序,一個簡單的音樂播放器就做成了。

qt音樂播放器widget(Quick中使用MediaPlayer播放音樂)5

現在點擊播放、暫停和停止按鈕感受一下,是不是已經可以正常工作了。

MediaPlayer的更多内容,可以參見QtCreator自帶的幫助文檔。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved