Maison > Questions et réponses > le corps du texte
Comme le code ci-dessous appelle mplayer pour lire des fichiers audio locaux, est-il possible de transmettre les données dans le fichier p
获取到filepath
?
p=subprocess.Popen(["mplayer",filepath],shell=False,stdin=subprocess.PIPE,stderr=subprocess.PIPE)
filepath
Il peut également s'agir d'une URL, où les données sont nécessaires, mais vous ne souhaitez plus visiter cette adresse.
-------Supplémentaire-------
J'ai fait un suivi en essayant de déboguer, pour voir si le contenu du fichier avait été obtenu avant d'appeler mplayer, mais dans le module de sous-processus, le débogage en une seule étape n'a pas fonctionné , je veux donc savoir si le module de sous-processus a obtenu les données avant d'appeler mplayer. Si c'est le cas, il peut obtenir les données.
黄舟2017-05-18 11:00:55
subprocess
只是一个调用命令的库, 它的stdin, stdout
stocke également uniquement les résultats de la sortie de la commande. Si votre commande a des résultats, du texte ou une autre sortie lors de l'exécution, vous pouvez l'obtenir, mais si vous souhaitez analyser ce fichier audio, cela ne devrait pas fonctionner. , ou vous avez besoin d'autres méthodes d'analyse pour expliquer, ou ouvrez le fichier directement, vous pourrez peut-être obtenir ce que vous voulez
高洛峰2017-05-18 11:00:55
Il semble que ce que vous souhaitez obtenir, ce sont les métadonnées des données audio. S'il s'agit réellement de MP3, vous pouvez essayer la bibliothèque ID3.