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.
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 voulezIl 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.