![](/img/trans.png)
[英]Fading effect with QAudioOutput and QMediaPlayer (PyQt6)
[英]Some Questions about QMediaPlayer() in PyQt6
我正在嘗試使用QMediaPlayer()
播放聲音
代碼 1 :這項工作正常。
import sys
from PyQt6.QtCore import QUrl
from PyQt6.QtMultimedia import QAudioOutput, QMediaPlayer
from PyQt6.QtWidgets import QApplication
app = QApplication([])
filename = "src/2.mp3"
player = QMediaPlayer()
audio_output = QAudioOutput()
player.setAudioOutput(audio_output)
player.setSource(QUrl.fromLocalFile(filename))
audio_output.setVolume(50)
player.play()
sys.exit(app.exec())
代碼 2但這沒有聲音。
import sys
from PyQt6.QtCore import QUrl
from PyQt6.QtMultimedia import QAudioOutput, QMediaPlayer
from PyQt6.QtWidgets import QApplication
app = QApplication([])
def play_it():
filename = "src/2.mp3"
player = QMediaPlayer()
audio_output = QAudioOutput()
player.setAudioOutput(audio_output)
player.setSource(QUrl.fromLocalFile(filename))
audio_output.setVolume(50)
player.play()
play_it()
sys.exit(app.exec())
我在這里找不到有什么不同。 衷心感謝您的幫助!
在player.play()
方法后,它退出 function 並且媒體播放器被垃圾收集。 如果您希望它在 function 調用的 scope 之外存在,則需要通過返回來保留對player
的引用。
例如:
import sys
from PyQt6.QtCore import QUrl
from PyQt6.QtMultimedia import QAudioOutput, QMediaPlayer
from PyQt6.QtWidgets import QApplication
app = QApplication([])
def play_it():
filename = "src/2.mp3"
player = QMediaPlayer()
audio_output = QAudioOutput()
player.setAudioOutput(audio_output)
player.setSource(QUrl.fromLocalFile(filename))
audio_output.setVolume(50)
return player
player = play_it()
player.play()
sys.exit(app.exec())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.