问题描述
我需要将通过请求模块下载的MP4转换为具有Moviepy模块的MP3。
这两个操作完美配合。
但是,为了将MP4转换为MP3 (使用moviepy audio.write_audiofile()方法),
我需要将MP4保存到磁盘上(使用请求write()方法)
基本上是没有用的,因为我会在之后删除。
请问您是否知道有一种方法可以提取随请求一起下载的内容,然后直接将其转换为MP3文件?
提前谢谢!
解决方法
我对此不太熟悉,但是我认为您可以使用io.BytesIO(https://docs.python.org/3/library/io.html#io.BytesIO),通过它您可以将数据(从记录中)写入BytesIO-Object而不是文件中(您可以在每个文件的读/写操作(而不是实际文件)上使用它)。一个例子:
export const MovieProvider = (props) => {
const [isFav,setIsFav] = useState(false)
const [movies,setMovies] = useState([]);
const [filtered,setFilteredMovies] = useState([])
const addMovies = (res) => {
setMovies([...res]);
}
const addFavMovies = (res) => {
if(res){
setMovies([...res]);
}
}
const addFilteredMovies = (res) => {
setFilteredMovies([...filtered,res]);
}
return (
<MovieContext.Provider value={{
fav: [isFav,setIsFav],movies,addMovies,addFavMovies,filtered,addFilteredMovies,}}>
{props.children}
</MovieContext.Provider>
)
}