Как я могу перетасовать папку с музыкой, не прерывая и не приостанавливая другой код в python? - PullRequest
0 голосов
/ 01 июля 2019

Короче говоря, я хотел бы перетасовать папку .mp3 файлов в фоновом режиме, чтобы у меня все еще могла быть запущена программа.Я на Mac OS X. Мне удалось получить все файлы в списке, используя Glob, и затем я могу воспроизвести их с помощью плагина воспроизведения звука , найденного здесь. Однако этот сценарий запрещает запуск чего-либо еще, пока всепесни закончены не то, что я хочу.Я попытался pygame с этим кодом ... pip install pygame (который работал успешно), а затем ...

import pygame
pygame.mixer.init()
pygame.mixer.music.load("file.mp3")
pygame.mixer.music.play()

Это, однако, всегда возвращает ту же ошибку, pygame.error: MPEG file does not have any audio stream. Так что у меня есть файлыв списке, но нет возможности воспроизвести их в фоновом режиме.Может ли кто-нибудь помочь с этим, пожалуйста?

ОБНОВЛЕНИЕ КОДА:

Мне действительно удалось заставить его воспроизводить звуки с этим кодом ниже ...

import time
import glob
import pygame

pygame.mixer.init()
def play_my_mix(data = "error"):
    for file in glob.glob("data/music/mix/*.mp3"):
        pygame.mixer.music.load(file)
        pygame.mixer.music.play()

print("test")
play_my_mix()
print("apple")
time.sleep(15)

Однакоаудио в ужасном качестве.Звучит как извращенный и медленный.Строка time.sleep(15) предназначена для поддержки работы программы, потому что в противном случае она просто останавливается, и это нормально, учитывая, что это тест.Однако я изменил это на это ...

x = 1
while x == 1:
    print("good")

На случай, если это было связано со временем, но это не изменило его вообще.

1 Ответ

0 голосов
/ 09 июля 2019

Так что я исправил первую часть с кодом обновления, как упомянуто в редактировании.Вторую проблему с задержкой звука я исправил, изменив pygame.mixer.init() на pygame.mixer.init(44100, -16, 2, 2048)

...