Pyqt6中QMediaPlayer音視頻播放的使用
QMediaPlayer 是 PyQt6 中用于音視頻播放的類,提供了對(duì)多種媒體格式的支持,能夠播放本地文件、流媒體、音頻以及視頻等。它是 QtMultimedia 模塊的一部分,主要通過(guò)與 QMediaPlayer 結(jié)合使用的控件,如 QVideoWidget 來(lái)顯示視頻內(nèi)容。
主要功能:
1. 加載和播放媒體:
setSource():設(shè)置要播放的媒體源,可以是本地文件、URL 或媒體流。play():開(kāi)始播放音頻或視頻。pause():暫停播放。stop():停止播放。
2. 控制音量:
setVolume():設(shè)置音量(0到100之間)。
3. 控制播放進(jìn)度:
setPosition():設(shè)置播放的當(dāng)前位置(以毫秒為單位)。position():獲取當(dāng)前播放位置。
4. 獲取媒體信息:
duration():獲取媒體的總時(shí)長(zhǎng)(以毫秒為單位)。media():獲取當(dāng)前播放的媒體內(nèi)容。
5. 信號(hào):
mediaStatusChanged: 當(dāng)媒體播放狀態(tài)發(fā)生變化時(shí)發(fā)出信號(hào)。positionChanged: 當(dāng)播放進(jìn)度改變時(shí)發(fā)出信號(hào)。durationChanged: 當(dāng)媒體的總時(shí)長(zhǎng)發(fā)生變化時(shí)發(fā)出信號(hào)。error: 當(dāng)播放出錯(cuò)時(shí)觸發(fā)。
6. 視頻輸出:
setVideoOutput(): 設(shè)置一個(gè)視頻控件(如QVideoWidget)來(lái)顯示播放的視頻內(nèi)容。
示例代碼:
from PyQt6.QtWidgets import QApplication, QPushButton, QVBoxLayout, QWidget
from PyQt6.QtMultimedia import QMediaPlayer, QAudioOutput
from PyQt6.QtCore import QUrl
app = QApplication([])
# 界面
window = QWidget()
layout = QVBoxLayout()
# 播放器
# 播放器
player = QMediaPlayer()
audio_output = QAudioOutput()
player.setAudioOutput(audio_output)
player.setSource(QUrl.fromLocalFile("./res/music/提示音1.mp3")) # 指定本地音頻文件
player.play()
player.setLoops(5) # 循環(huán)播放
# 播放按鈕
button = QPushButton("停止")
button.clicked.connect(player.stop)
layout.addWidget(button)
window.setLayout(layout)
window.show()
app.exec()
關(guān)鍵方法總結(jié):
setSource(): 設(shè)置媒體源。play(),pause(),stop(): 控制播放。setVolume(): 調(diào)整音量。setPosition(): 設(shè)置播放進(jìn)度。setVideoOutput(): 設(shè)置視頻輸出窗口。
到此這篇關(guān)于Pyqt6中QMediaPlayer音視頻播放的使用的文章就介紹到這了,更多相關(guān)Pyqt6 QMediaPlayer音視頻播放內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 創(chuàng)建彈出式菜單的實(shí)現(xiàn)代碼
這篇文章主要介紹了python 創(chuàng)建彈出式菜單的實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-07-07
Python基于OpenCV實(shí)現(xiàn)視頻的人臉檢測(cè)
這篇文章主要為大家詳細(xì)介紹了Python基于OpenCV實(shí)現(xiàn)視頻的人臉檢測(cè),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
NumPy 數(shù)組花式索引(Fancy Indexing)的實(shí)現(xiàn)
NumPy的花式索引是一種強(qiáng)大的數(shù)組索引方式,允許通過(guò)整數(shù)數(shù)組或列表一次性訪問(wèn)或修改多個(gè)數(shù)組元素,本文主要介紹了NumPy 數(shù)組花式索引(Fancy Indexing)的實(shí)現(xiàn),感興趣的可以了解一下2025-11-11
Python實(shí)現(xiàn)判斷一個(gè)字符串是否包含子串的方法總結(jié)
這篇文章主要介紹了Python實(shí)現(xiàn)判斷一個(gè)字符串是否包含子串的方法,結(jié)合實(shí)例形式總結(jié)分析了四種比較常用的字符串子串判定方法,需要的朋友可以參考下2017-11-11
Python+PyQt構(gòu)建自動(dòng)化定時(shí)任務(wù)執(zhí)行工具詳細(xì)代碼示例
在日常工作中,我們常常會(huì)用到需要周期性執(zhí)行的任務(wù),這篇文章主要介紹了Python+PyQt構(gòu)建自動(dòng)化定時(shí)任務(wù)執(zhí)行工具的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-09-09
深入了解python基于tkinter寫(xiě)的畫(huà)圖項(xiàng)目
這篇文章主要為大家介紹了python基于tkinter寫(xiě)的畫(huà)圖項(xiàng)目,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2021-12-12
keras如何指定運(yùn)行時(shí)顯卡及限制GPU用量
這篇文章主要介紹了keras如何指定運(yùn)行時(shí)顯卡及限制GPU用量問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03

