gpt4 book ai didi

html - 在 Javascript 中为 Web Audio API 使用本地文件

转载 作者:技术小花猫 更新时间:2023-10-29 11:50:13 25 4
gpt4 key购买 nike

我正在尝试使用 Web Audio API 在我的 iPhone 游戏中播放声音。问题是这个应用程序完全是客户端。我想将我的 mp3 存储在本地文件夹中(并且不受用户输入驱动)所以我不能使用 XMLHttpRequest 来读取数据。我正在考虑使用 FileSystem,但 Safari 不支持它。

还有其他选择吗?

编辑:感谢您的以下回复。不幸的是,音频 API 对于游戏来说非常慢。我有这个工作,延迟只会让用户体验无法接受。澄清一下,我需要的是 -

var request = new XMLHttpRequest();
request.open('GET', 'file:///./../sounds/beep-1.mp3', true);
request.responseType = 'arraybuffer';
request.onload = function() {
context.decodeAudioData(request.response, function(buffer) {
dogBarkingBuffer = buffer;
}, onError);
}
request.send();

但这给了我错误 -

XMLHttpRequest 无法加载 file:///sounds/beep-1.mp3。仅 HTTP 支持跨源请求。 Uncaught Error :NETWORK_ERR:XMLHttpRequest 异常 101

我了解读取本地文件的安全风险,但在您自己的域中应该没问题吧?

最佳答案

我遇到了同样的问题,我找到了这个非常简单的解决方案。

audio_file.onchange = function(){
var files = this.files;
var file = URL.createObjectURL(files[0]);
audio_player.src = file;
audio_player.play();
};
<input id="audio_file" type="file" accept="audio/*" />
<audio id="audio_player" />

你可以在这里测试: http://jsfiddle.net/Tv8Cm/

关于html - 在 Javascript 中为 Web Audio API 使用本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14074833/

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