Я пытаюсь получить звук, работающий над своей игрой iPhone, используя API веб-аудио. Проблема в том, что это приложение полностью на стороне клиента. Я хочу хранить мои mp3 файлы в локальной папке (и без ввода пользовательского ввода), поэтому я не могу использовать XMLHttpRequest для чтения данных. Я изучал использование FileSystem, но Safari не поддерживает его.
Есть ли альтернатива?
Изменить: Спасибо за ответы ниже. К сожалению, Audio 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 не может загрузить файл:///sounds/beep-1.mp3. Запросы на кросс-начало поддерживаются только для HTTP. Ошибка поиска: NETWORK_ERR: Исключение XMLHttpRequest 101
Насколько я понимаю, риски безопасности при чтении локальных файлов, но, безусловно, в вашем собственном домене должны быть в порядке?