Асинхронное воспроизведение pygame.midi - PullRequest
0 голосов
/ 04 ноября 2019

Я делаю пианино, используя pygame.midi, проблема в том, что звуки не могут воспроизводиться параллельно. При нажатии кнопки звук добавляется в очередь и идет один за другим. Как это исправить? пример

...

        self.F.clicked.connect(self.soundF)

        self.G.clicked.connect(self.soundG)

    def keyPressEvent(self, event):
        if event.key() == Qt.Key_1:
            self.soundA()

        if event.key() == Qt.Key_2:
            self.soundB()

        if event.key() == Qt.Key_3:
            self.soundC()

        if event.key() == Qt.Key_4:
            self.soundD()

        if event.key() == Qt.Key_5:
            self.soundE()

        if event.key() == Qt.Key_6:
            self.soundF()

        if event.key() == Qt.Key_7:
            self.soundG()



    def soundA(self):
        player.note_on(62, 127, channel=3)
        time.sleep(0.3)
        player.note_off(62, 127, channel=3)

    def soundB(self):
        player.note_on(63, 127)
        time.sleep(0.3)
        player.note_off(63, 127)

    def soundC(self):
        player.note_on(64, 127)
        time.sleep(0.3)
        player.note_off(64, 127)

...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...