0
votes

Musique multithreaded jouant avec pygame dans le terminal

Je tente de créer un jeu de texte et d'ajouter de la musique et peut-être aussi, cependant, la réponse "grande et la plus grande" était pygame. Après avoir testé avec elle, j'ai trouvé que lorsque vous utilisez une fonction pygame, elle arrête la session de terminal actuelle d'impressionner plus de sortie, cela empêche le jeu de continuer.

J'ai d'abord essayé habituel ... p> xxx pré>

et bien sûr, cela ne fonctionne pas car c'est une boucle et le fait pour le faire afin que je puisse essayer ... p> xxx pré>

Cela ne fonctionnait toutefois pas comme étant gênant "Bienvenue à Pygame" Sortie terminale bloquée à nouveau ... p>

La prochaine étape consistait à créer un nouveau fichier et ... p>

Music_Thread.join()
Music_Thread.stop()


0 commentaires

3 Réponses :


0
votes

Le pygame.mixer Malheureusement n'a pas cette capacité (autant que je sache). Utilisez winsound à la place: xxx


3 commentaires

Probablement pas ... je vais chercher des alternatives.


Je vais aussi essayer


WXPython semblait prometteur, mais il manque toute la documentation utile, et ils ont supprimé tous les modules sonores de l'apparence d'une importation ....



0
votes

Après avoir essayé quelques choses que j'ai trouvées ...

pygame n'est pas amical avec la sortie du son et du terminal, de sorte que cela ne fonctionnera pas.

wxpython n'a plus de module de son fonctionnel, ce qui le rend inutile.

D'autres projets sont abandonnés ou spécifiques au système d'exploitation ...

Cependant, j'ai trouvé que le pyopénal fonctionne réellement, bien qu'il ne puisse pas comprendre les fichiers MP3 ni le flotteur 32bit. Au lieu d'utiliser Multhreading, j'ai changé de multiprofessionnement (effectuez un script de 2000 lignes pour apprendre correctement comment le module fonctionne) et maintenant le son joue (et des boucles) tout en permettant la sortie terminale.

TL: DR

pyopénal est le gagnant.


0 commentaires

0
votes

Veuillez essayer comme suit -

from pygame import *
def some_function():
    pygame.mixer.music.load("music.mp3")
    pygame.mixer.music.play(0)
    clock = time.Clock()
    clock.tick(10)
    while pygame.mixer.music.get_busy():
        clock.tick(10)
    Rest_of_function


0 commentaires