PySide6.QMediaPlayer Невозможно воспроизвести звук в Windows 11Python

Программы на Python
Anonymous
PySide6.QMediaPlayer Невозможно воспроизвести звук в Windows 11

Сообщение Anonymous »

Я пытался разработать приложение аудиоплеера с помощью PySide6, но обнаружил, что не могу воспроизвести звук. Программа работает нормально, но звук не воспроизводится. Сигнал mediaStatusChanged QMediaPlayer также не запускается. Статус QMediaPlayer всегда оставался MediaStatus.NoMedia, независимо от того, был ли это файл MP3 или WAV. Программа не сообщила об ошибках.
Вот мой код:

Код: Выделить всё

import os
import sys

from PySide6.QtCore import QUrl
from PySide6.QtMultimedia import QMediaPlayer, QAudioOutput
from PySide6.QtWidgets import QMainWindow, QApplication, QPushButton

class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# self.setupUi(self)

self.playButton = QPushButton('Play')

self.player = QMediaPlayer()
self.audioOutput = QAudioOutput()

self.player.setAudioOutput(self.audioOutput)
self.player.errorOccurred.connect(self.error)
self.player.mediaStatusChanged.connect(self.status_changed)

self.playButton.pressed.connect(self.play)

self.setCentralWidget(self.playButton)

def play(self):
file_path = './resources/audio/City.wav'
absolute_path = os.path.abspath(file_path)
print(f'absolute_path: {absolute_path}')

self.player.setSource(QUrl(absolute_path))
self.player.play()

print(f'Volume: {self.audioOutput.volume()}')
print(f'Devices: {self.audioOutput.device()}')
print(f"player status: {self.player.mediaStatus()}")

def error(self, error):
print(f'Error: {error}')

def status_changed(self, status):
print(f'Status changed: {status}')

if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
вывод на консоль:

Код: Выделить всё

absolute_path: D:\pythonProject\winapp\resources\audio\City.wav
Volume: 1.0
Devices:
player status: MediaStatus.NoMedia
Я подтверждаю, что пути к этим файлам WAV и MP3 верны и могут нормально воспроизводиться в проигрывателе Windows Media.
Я использую
PySide6 6.7.3,
Windows 11 22631.4169

Подробнее здесь: https://stackoverflow.com/questions/790 ... windows-11

Вернуться в «Python»