Метод Pause в Pygame не останавливает воспроизведение звука - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь сделать звуковой плеер с питоном, и это прекрасно работает. Но когда я пытаюсь использовать функцию pause () на микшере, он не распознает, что должен сделать паузу. Также, когда я пытаюсь запустить метод pause из другого класса, он тоже не работает. Я был бы очень благодарен, если бы кто-нибудь мог мне помочь.

import pygame
from pygame import *

sound_bassdrum = 'bassdrum.wav'

class soundsMixer:
    def __init__(self):
        mixer.pre_init(44100, 16, 2, 4096)
        mixer.init()

    def pauseMixer(self):
        mixer.pause()

    def playBassdrum(self):
        self.bassdrum = pygame.mixer.Sound(sound_bassdrum)
        self.bassdrum.play()

appMixer = soundsMixer()

1 Ответ

0 голосов
/ 05 сентября 2018

Я думаю, что вы не можете правильно приостановить его, потому что вы используете метод .pause на микшере (хотя все каналы должны быть приостановлены в соответствии с документацией). Но вы на самом деле не приостанавливаете объект Sound, созданный в
self.bassdrum = pygame.mixer.Sound(sound_bassdrum)

Попробуйте сделать что-то вроде этого и дайте мне знать, если это сработало. Добавьте эту функцию в свой класс

def pause_soundobject(self, soundobj):
    soundobj.stop()

Теперь используйте этот метод и передайте self.bassdrum как soundobj.

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