En jouant .les fichiers mp3 avec PyAudio
Peut pyaudio jouer .les fichiers mp3? Si oui, puis-je vous demander d'écrire un exemple s'il vous plaît. Si non, quelle est la façon la plus simple de convertir .mp3 pour .wav?
J'ai essayé d'utiliser PyDub, pourrait obtenir mon .fichier wav, mais quand j'essaie de jouer avec PyAudio j'obtiens l'erreur suivante:
File "C:\Python33\lib\wave.py", line 130, in initfp
raise Error('file does not start with RIFF id')
wave.Error: file does not start with RIFF id
Avec d'autres .wav échantillons (qui, où pas converti à partir d'un mp3) si fonctionne bien.
Je suis à l'aide de gtt bibliothèque pour convertir le texte à la parole pour mon application. Il crée le court .mp3 fichiers dont j'ai besoin pour jouer alors. Droit maintenant, je suis juste en utilisant la
os.system("start english.mp3")
Je veux trouver une meilleure façon de le faire. Tout d'abord, je ne veux pas être restreinte sur la plate-forme. Deuxièmement, je n'aime pas que le joueur pop-up lors de la lecture du fichier commence, je tiens à rester sur le fond.
J'essaie de trouver la solution minimaliste pour cela, que je n'ai pas besoin de rien de plus que de la simple lecture.
UPD: j'ai réussi à jouer avec pyglet. Semble bien, sauf qu'il prend tellement de temps... j'ai environ 10 secondes avant que j'entende le son. Et il ne fonctionne pas correctement avec le filetage (je veux jouer le .mp3 alors que le programme est toujours en cours d'exécution).
Est-il juste pour pousser le joueur à rester sur le fond et non d'une pop-up sur toutes les autres fenêtres?
Vous devez vous connecter pour publier un commentaire.
Voici la réponse courte:
TL;DR: je suis en supposant que vous souhaitez lire un fichier audio, sans un front-end.
Il y a une bibliothèque pour que, appelé Le Snack Son Toolkit qui le fait magnifiquement:
Je sais que j'ai utilisé cela avec les deux volets et je pense que les fichiers mp3 ne me souviens pas comment ou dans quel projet, pourrait avoir à regarder dans cette tho. Pense que c'était mumble liées.. de toute façon..
Si vous êtes tout à fait bien avec l'aide d'un frontal code comme pyglet (ce qui est mon choix de le entendu), vous avez besoin de quelques options et un peu de code pour que cela fonctionne le mieux possible.
Dépendances:
* OpenAL (pour compatibilité multiplate-forme)
Votre problème avec le filetage, c'est que Pyglet est une librairie OpenGL. Ce qui ne veut pas prendre de bien vouloir Filetage à tous. À moins que vous laissez Pyglet extraire les données dont vous avez besoin.
Aussi, vous serez plus que probablement croiser le problème de la "pyglet blocs de mon code" (toutes les bibliothèques graphiques ne. alors, voici une solution de contournement)
C'est tout à fait bien, puisque vous êtes, ne pas essayer de mettre à jour LE graphique à partir d'un autre thread.
Vous êtes plutôt de l'extraction de données sur les termes graphiques.
Vous pouvez toutefois de travailleur() met à jour une variable/liste/tableau/w/e à l'intérieur AudioWindow() sans aucun problème, la seule chose que vous ne pouvez pas appeler n'importe quel graphique de la fonction à partir de l'extérieur du graphique de la classe.
Sans avant la fin de l'approche ludique:
La voie la plus idéale serait cependant aller de la vieille école comme l'enfer et l'utilisation pyaudio et jouer avec les audioframes manuellement. De cette façon, vous pouvez lire littéralement audio-fichier tant que vous décoder les données correctement. - Je l'utiliser(Bande de roulement à la légère, car il n'est pas pritty) pour le transport de l'audio-moi:
Cela devrait produire quelque chose de proche de audio 🙂
La raison pour laquelle wav est donc overutelized dans les exemples etc, c'est parce que c'est fondamentalement un clair ruisseau du son, de l'encodage ne se fait pas en aucune façon. le mp3 est une compression du format audio, format étant le mot clé ici. Vous devez trouver un moyen de lire les mp3 de données et l'inverse à partir d'un état compact dans un flux de données qui vous pouvez presser dans les haut-parleurs.
Je suis pas de son expert, mais c'est une ébauche d'explication de la manière dont l'audio fonctionne de quelqu'un besoin de se battre avec elle pour un peu et il a obtenu de travail.
Dernière remarque:
Si vous vous attendez à jouer de l'audio compressé des fichiers avec Pyglet, vous pouvez utiliser AVbin. Une bibliothèque utilisée pour les fichiers compressés.
Mon résumé est ici, profitez de
Si vous utilisez Windows avec Windows Media Player est installé, voici une solution simple:
Malheureusement, lorsque j'essaie de remplacer le fichier mp3 avec un nouveau, qu'il ne peuvent parfois pas être écrit. Je pense que WMP blocs ou quelque chose. J'ai donc décidé de créer un nouveau fichier à chaque fois et l'appeler "mise en cache".)