|
Воспроизведение аудио
Есть переменная JS. В ней данные в формате wave. Как их лучше воспроизвести в фоне. Визуализация не нужна. Нужно будет отловить событие - проигрывание завершено.
|
Цитата:
|
Хороший вопрос. Если честно, пока не знаю. Наверное string. Планируется получать ответ с сервера, из php. Запрос планируется отправлять через Ajax.
Как тогда нужно их, данные, отдавать из php ? |
В свою переменную затолкайте ссылку либо на сам файл, либо на роут, который должен вернуть этот самый аудио-файл с соответствующими заголовками.
Дальше все просто (со своими нюансами): https://developer.mozilla.org/ru/doc...oElement/Audio const audio = new Audio(audioFileUrl); audio.addEventListener('canplaythrough', () => { audio.play(); }); |
На стороне сервера не хочется сохранять файл, это занимает время, некий ресурс, так же надо отслеживать время жизни этого файла, определять время через которое этот файл надо подчистить - удалить файл.
Если делать заголовки на php, как ловить на JS ? |
Цитата:
|
Программно создаю сам на php. Вот описание протокола. Он не сложный.
http://microsin.net/programming/pc/wav-format.html Да, мы простых путей не ищем. :) |
Цитата:
Я ж сразу об этом написал: Цитата:
|
А можно по подробней про ссылку на [...] и роут с заголовками ?
Ссылку я кстати читал, до всех вопросов. Но там src/url который я так понимаю хочет файл, а у меня его нету. :) Если речь о роуте типа Человека Понятные Урлы, так смысл в нем ? Хотя ... Отправляю ссылку уникальную, ее получается надо где-то сохранить, что бы потом ловить к ней обращение ? Через файл ? Через базу ? Что то реализация не выстраивается .. |
Цитата:
Google: о передаче файла клиенту Хабр: тоже самое В третьем сообщении этой темы вы написали, что файл собираетесь с сервера тянуть с помощью асинхронного запроса, значит файл у вас генерится по требованию клиента, значит публичный адрес у этого скрипта есть. Прочитайте хотя бы статью на хабре, там даже пример кода есть. Вам только нужно подставить свой content-type и отдавать не файл из файловой системы, а тот, который вы сгенерили. |
Часовой пояс GMT +3, время: 01:47. |
|