import urllib2
import audiotools
file = urllib2.urlopen('http://test.com/1.mp3')
audio = audiotools.open( file ) # <- error
我可以将文件(而不是驱动器)从内存提供给audiotool吗?
还是这里有任何将mp3文件从url加载到audiotools的方法?无需将其保存在硬盘上。
最佳答案
这似乎是audiotools的局限性,而不是琐碎的解决方法。例如,参见MP3Audio类(https://github.com/tuffy/python-audio-tools/blob/master/audiotools/mp3.py)。文件名一直通过库的多层向下传递。因此,它几乎必须是一个真实的文件名(即可以是open()
'd的文件名。
如果您迫切需要一个解决方案,那么想到的唯一事情就是制作一个不支持磁盘的文件。例如,/dev/shm
是许多Linux系统上的挂载点,它不指向实际磁盘,而仅指向内存。因此,您可以将音频文件写入/dev/shm/foo.mp3
,然后告诉audiotools打开它。
关于python - python audiotools从内存打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15040033/