Der folgende Code ruft mplayer auf, um lokale Audiodateien abzuspielen. Ist es möglich, die Daten in der p
获取到filepath
Datei zu übergeben?
p=subprocess.Popen(["mplayer",filepath],shell=False,stdin=subprocess.PIPE,stderr=subprocess.PIPE)
filepath
Es kann auch eine URL sein, wo die Daten benötigt werden, Sie diese Adresse aber nicht noch einmal besuchen möchten.
-------Ergänzung-------
Ich habe beim Debuggen nachgeschaut, um zu sehen, ob der Dateiinhalt vor dem Aufruf von mplayer abgerufen wurde, aber im Unterprozessmodul funktionierte das Debuggen in einem Schritt nicht . Daher möchte ich wissen, ob das Unterprozessmodul die Daten erhalten hat, bevor es mplayer aufruft.
subprocess
只是一个调用命令的库, 它的stdin, stdout
也只是储存 命令输出的 结果, 如果你的命令, 在执行过程中, 有结果,有文本或者什么别的输出, 那么可以获取, 但是如果你说像解析这个音频文件, 那应该是不行的, 或者你需要别的解析方式去解释, 或者直接打开那个文件, 说不定也能得到你想要的感觉你想获取的是音频数据的metadata,如实是MP3的话可以试试ID3这个库。