Pyqt6 中 QMediaPlayer 音视频播放

QMediaPlayer 是 PyQt6 中用于音视频播放的类,提供了对多种媒体格式的支持,能够播放本地文件、流媒体、音频以及视频等。它是 QtMultimedia 模块的一部分,主要通过与 QMediaPlayer 结合使用的控件,如 QVideoWidget 来显示视频内容。

主要功能:

1. 加载和播放媒体:

  • setSource():设置要播放的媒体源,可以是本地文件、URL 或媒体流。
  • play():开始播放音频或视频。
  • pause():暂停播放。
  • stop():停止播放。

2. 控制音量:

  • setVolume():设置音量(0到100之间)。

3. 控制播放进度:

  • setPosition():设置播放的当前位置(以毫秒为单位)。
  • position():获取当前播放位置。

4. 获取媒体信息:

  • duration():获取媒体的总时长(以毫秒为单位)。
  • media():获取当前播放的媒体内容。

5. 信号:

  • mediaStatusChanged: 当媒体播放状态发生变化时发出信号。
  • positionChanged: 当播放进度改变时发出信号。
  • durationChanged: 当媒体的总时长发生变化时发出信号。
  • error: 当播放出错时触发。

6. 视频输出:

  • setVideoOutput(): 设置一个视频控件(如 QVideoWidget)来显示播放的视频内容。

示例代码:

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)  # 循环播放

# 播放按钮
button = QPushButton("停止")
button.clicked.connect(player.stop)

layout.addWidget(button)
window.setLayout(layout)
window.show()
app.exec()

关键方法总结:

  • setSource(): 设置媒体源。
  • play()pause()stop(): 控制播放。
  • setVolume(): 调整音量。
  • setPosition(): 设置播放进度。
  • setVideoOutput(): 设置视频输出窗口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值