[英]How to play a audio file on HTML page from a zipfile which contains .wav file in memory?
我正在構建一個 web 應用程序,我將從 API 調用中獲取一個 zip 文件。 這個 Zipfile 包含一個我必須在瀏覽器上播放的音頻文件。 我無法將音頻文件存儲在服務器上並讀回它們。
這是我的 flask 網頁,它呈現下載。html 網頁。
zipped_file = io.BytesIO(out_bytes)
with ZipFile(zipped_file, 'r') as zf:
zf.printdir()
filename = zf.infolist()[0].filename
buff = zf.read(filename)
return render_template('download.html', value = buff)
在 download.html 我必須從我們解壓縮的文件中播放音頻。
<audio controls controlsList="nodownload">
<source src="{{value}}">
Your browser does not support the audio element.
</audio>
我是 flask 的新手,如果您對如何播放音頻而不將其存儲在服務器中有任何想法,請告訴我。
謝謝。
您應該能夠 base64 編碼您的buff
字節,然后在您的src
屬性前加上data:audio/wav;base64,
:
import base64
zipped_file = io.BytesIO(out_bytes)
with ZipFile(zipped_file, 'r') as zf:
zf.printdir()
filename = zf.infolist()[0].filename
buff = zf.read(filename)
encoded = base64.b64encode(buff)
return render_template('download.html', value = encoded)
<audio controls controlsList="nodownload">
<source src="data:audio/wav;base64,{{value}}">
Your browser does not support the audio element.
</audio>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.