如何发出Python request.Response对象的字节状?

问题描述

我已经使用Python的请求模块从网上下载了一个小的.mp3文件,如下所示:

file_on_disk = open(filename,'wb')
write(downloaded_file.content)
file_on_disk.close()

现在,它可以像MP3文件一样在磁盘上正常工作。但是,我想使用python-vlc的MediaPlayer播放它,但它仍未写入磁盘,即从内存写入。但是,这不起作用:

vlc.MediaPlayer(downloaded_file.content).play()

我收到一条TypeError: a bytes-like object is required,not 'str'消息。我检查了内容的类型,然后type(downloaded_file.content)将其标识为,而不是str。将文件保存到磁盘后,同一个MediaPlayer可以很好地播放该文件。我在这里缺少什么,如何将内存中的文件转换为vlc.MediaPlayer可以播放的格式?

(我是一个初学者,所以答案可能很明显,但它一直使我难以理解。)

编辑:我的完整代码实际上是:

import requests,vlc
downloaded_file = requests.get('https://cdn.duden.de/_media_/audio/ID4111733_460321137.mp3')
from vlc import MediaPlayer
MediaPlayer(downloaded_file.content).play()

解决方法

查看this可能相关的问题,您需要创建一个vlc Instance