gpt4 book ai didi

html - 在 HTML5 中跨页面加载存储本地音频文件数据

转载 作者:行者123 更新时间:2023-11-28 00:04:08 27 4
gpt4 key购买 nike

我正在尝试制作一个 web 应用程序,它将从远程服务器加载页面,但允许用户播放本地驱动器上文件(不是从远程服务器下载的文件)中的音频。我能够让它工作,但我还需要它来保存用户为后续访问所做的操作。例如:用户加载一个页面,点击“选择文件”按钮,选择一个 mp3,然后播放。然后用户关闭浏览器,再次打开,返回页面,无需再次选择即可播放相同的音频。

我知道音频播放与用户选择的保存是分开的,但在这种情况下,一个似乎决定了另一个。

我能够获得选择和播放功能来处理这个:

<html><body>

<script type='text/javascript'>
function handleFiles(files){
var file = window.URL.createObjectURL(files[0]);
document.getElementById('audioPlayer').src = file;
}
</script>

<audio id='audioPlayer' controls ></audio>
<input type='file' id='selectedFile'
onchange='handleFiles(this.files)' />

</body></html>

...但我不知道如何以一种可以在下次访问时自动加载的方式存储所选文件数据。我可以使用什么来存储该文件位置(或者甚至是整个文件本身),以便我仍然可以播放音频而无需用户再次选择该文件?

我怀疑出于安全原因,以某种方式保存本地文件 url 可能是不可能的,因为在没有用户交互的情况下从本地文件系统自动播放文件可能是个坏消息。

最佳答案

文件打开对话框中的文件句柄在不同的页面加载 session 中不可回收。

您最好将音频数据复制到 HTML5 localStorage 并从那里播放。或者将数据上传到您的服务器并从那里播放。

http://docs.webplatform.org/wiki/apis/web-storage/Storage/localStorage

localStorage 限制为几兆字节,具体取决于浏览器。

关于html - 在 HTML5 中跨页面加载存储本地音频文件数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19548834/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com