按下按钮,没有报错,但是没有声音
from PyQt5 import QtCore, QtGui, QtWidgets, QtMultimedia
from PyQt5.QtCore import QUrl, Qt
from PyQt5.QtWidgets import QGridLayout
import sys
class MainUi(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
button1 = QtWidgets.QPushButton("button1",self)
button1.clicked.connect(self.playmusic)
def playmusic(self):
url = QUrl.fromLocalFile(r"D:\four\CS003\project\music\Stay.mp3")
content = QtMultimedia.QMediaContent(url)
player = QtMultimedia.QMediaPlayer()
player.setMedia(content)
player.setVolume(100)
player.play()
def main():
app = QtWidgets.QApplication(sys.argv)
gui = MainUi()
gui.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
只要改动你代码中的这行就行了,player = QtMultimedia.QMediaPlayer(self),你少个self
或者你把player作为实例的对象,前面加self, 像2楼一样改。
←如果以下回答对你有帮助,请点击右边的向上箭头及采纳下答案
from PyQt5 import QtCore, QtGui, QtWidgets, QtMultimedia
from PyQt5.QtCore import QUrl, Qt
from PyQt5.QtWidgets import QGridLayout
import sys
class MainUi(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
button1 = QtWidgets.QPushButton("button1",self)
button1.clicked.connect(self.playmusic)
url = QUrl.fromLocalFile(r"D:\four\CS003\project\music\Stay.mp3")
content = QtMultimedia.QMediaContent(url)
self.player = QtMultimedia.QMediaPlayer()
self.player.setMedia(content)
button1.clicked.connect(self.playmusic)
def playmusic(self):
self.player.play()
def main():
app = QtWidgets.QApplication(sys.argv)
gui = MainUi()
gui.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()