воспроизвести звуковой файл в PyQt
Я разработал программное обеспечение в PyQt, которое воспроизводит звук. Я использую библиотеку Phonon для воспроизведения звука, но у него есть некоторая задержка. Как я могу воспроизвести звуковой файл в PyQt без использования библиотеки фононов.
Вот как я сейчас использую Phonon:
def Playnote(self,note_id):
global note
note = note_id
self.PlayThread = PlayThread()
self.PlayThread.start()
class PlayThread(QtCore.QThread):
def __init__(self):
QtCore.QThread.__init__(self)
def __del__(self):
self.wait()
def run(self):
global note
self.m_media = Phonon.MediaObject(self)
audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, self)
Phonon.createPath(self.m_media, audioOutput)
self.m_media.setCurrentSource(Phonon.MediaSource(Phonon.MediaSource(note)))
self.m_media.play()
Теперь отставание уменьшено. Но проблема в том, что я нажимаю две или более клавиши в течение короткого времени, это накладные расходы новой заметки и останавливает предыдущую заметку. Мне нужно сыграть предыдущую ноту, пока она не закончится.
class PlayThread(QtCore.QThread):
def __init__(self):
QtCore.QThread.__init__(self)
self.m_media = Phonon.MediaObject(self)
self.audioOutput = Phonon.AudioOutput(Phonon.MusicCategory, self)
Phonon.createPath(self.m_media, self.audioOutput)
def __del__(self):
self.wait()
def play(self, note):
self.m_media.setCurrentSource(Phonon.MediaSource(Phonon.MediaSource(note)))
self.m_media.play()
def run(self):pass