簡體   English   中英

如何制作 Python requests.Response object 字節狀?

[英]How to make a Python requests.Response object byte-like?

我使用 Python 的 requests 模塊從網上下載了一個 small.mp3 文件,如下所示:

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

現在它可以像 MP3 文件一樣在磁盤上正常工作。 但是,我想使用 python-vlc 的 MediaPlayer 播放它,而它還沒有寫入磁盤,即來自 memory。 但是,這不起作用:

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

我得到一個TypeError: a bytes-like object is required, not 'str'消息。 我檢查了內容的類型, type(downloaded_file.content)將其標識為 <class 'bytes'>,而不是 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()

查看這個可能相關的問題,您需要創建一個 vlc Instance

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM