Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.10.2020, 17:46
him him вне форума
Аспирант
Отправить личное сообщение для him Посмотреть профиль Найти все сообщения от him
 
Регистрация: 19.08.2013
Сообщений: 93

Воспроизведение аудио
Есть переменная JS. В ней данные в формате wave. Как их лучше воспроизвести в фоне. Визуализация не нужна. Нужно будет отловить событие - проигрывание завершено.
Ответить с цитированием
  #2 (permalink)  
Старый 30.10.2020, 18:01
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Сообщение от him
В ней данные в формате wave.
А тип данных в переменной какой?
Ответить с цитированием
  #3 (permalink)  
Старый 30.10.2020, 18:14
him him вне форума
Аспирант
Отправить личное сообщение для him Посмотреть профиль Найти все сообщения от him
 
Регистрация: 19.08.2013
Сообщений: 93

Хороший вопрос. Если честно, пока не знаю. Наверное string. Планируется получать ответ с сервера, из php. Запрос планируется отправлять через Ajax.

Как тогда нужно их, данные, отдавать из php ?

Последний раз редактировалось him, 30.10.2020 в 18:16.
Ответить с цитированием
  #4 (permalink)  
Старый 30.10.2020, 18:34
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

В свою переменную затолкайте ссылку либо на сам файл, либо на роут, который должен вернуть этот самый аудио-файл с соответствующими заголовками.

Дальше все просто (со своими нюансами): https://developer.mozilla.org/ru/doc...oElement/Audio
const audio = new Audio(audioFileUrl);
audio.addEventListener('canplaythrough', () => {
    audio.play();
});
Ответить с цитированием
  #5 (permalink)  
Старый 30.10.2020, 19:05
him him вне форума
Аспирант
Отправить личное сообщение для him Посмотреть профиль Найти все сообщения от him
 
Регистрация: 19.08.2013
Сообщений: 93

На стороне сервера не хочется сохранять файл, это занимает время, некий ресурс, так же надо отслеживать время жизни этого файла, определять время через которое этот файл надо подчистить - удалить файл.

Если делать заголовки на php, как ловить на JS ?
Ответить с цитированием
  #6 (permalink)  
Старый 30.10.2020, 19:32
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Сообщение от him
На стороне сервера не хочется сохранять файл
А изначально он где вообще?
Ответить с цитированием
  #7 (permalink)  
Старый 30.10.2020, 19:48
him him вне форума
Аспирант
Отправить личное сообщение для him Посмотреть профиль Найти все сообщения от him
 
Регистрация: 19.08.2013
Сообщений: 93

Программно создаю сам на php. Вот описание протокола. Он не сложный.
http://microsin.net/programming/pc/wav-format.html

Да, мы простых путей не ищем.
Ответить с цитированием
  #8 (permalink)  
Старый 30.10.2020, 20:33
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Сообщение от him
Программно создаю сам на php.
Ну так если он создается "на лету", то сразу же его и отдавайте вашему фронту минуя кеширование на диск.

Я ж сразу об этом написал:
Сообщение от Nexus
В свою переменную затолкайте ссылку [...] на роут, который должен вернуть этот самый аудио-файл с соответствующими заголовками.
Ответить с цитированием
  #9 (permalink)  
Старый 30.10.2020, 21:38
him him вне форума
Аспирант
Отправить личное сообщение для him Посмотреть профиль Найти все сообщения от him
 
Регистрация: 19.08.2013
Сообщений: 93

А можно по подробней про ссылку на [...] и роут с заголовками ?

Ссылку я кстати читал, до всех вопросов. Но там src/url который я так понимаю хочет файл, а у меня его нету.

Если речь о роуте типа Человека Понятные Урлы, так смысл в нем ?
Хотя ...
Отправляю ссылку уникальную, ее получается надо где-то сохранить, что бы потом ловить к ней обращение ?
Через файл ? Через базу ? Что то реализация не выстраивается ..

Последний раз редактировалось him, 30.10.2020 в 21:49.
Ответить с цитированием
  #10 (permalink)  
Старый 30.10.2020, 22:00
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Сообщение от him
Но там src который я так понимаю хочет файл, а у меня его нету.
Вы, вероятно, не понимаете, что клиенту (клиент - ваш js скрипт) глубоко пофигу откуда сервер берет файл, главное, чтобы сервер вернул содержимое этого файла и сказал, что именно это за файл (речь о заголовках ответа).

Google: о передаче файла клиенту
Хабр: тоже самое

В третьем сообщении этой темы вы написали, что файл собираетесь с сервера тянуть с помощью асинхронного запроса, значит файл у вас генерится по требованию клиента, значит публичный адрес у этого скрипта есть.

Прочитайте хотя бы статью на хабре, там даже пример кода есть. Вам только нужно подставить свой content-type и отдавать не файл из файловой системы, а тот, который вы сгенерили.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проигрывание MP3 аудио при нажатии на элемент. savsoft Общие вопросы Javascript 1 04.05.2020 13:14
Отследить воспроизведение аудио Galyanov Events/DOM/Window 2 23.11.2019 02:44
Воспроизведение аудио yumakar Events/DOM/Window 8 29.10.2019 13:53
Воспроизведение аудио при переходе по страницам сайта smegol Мобильный JavaScript 2 17.02.2018 01:03
Воспроизведение аудио MaksZua Общие вопросы Javascript 1 04.11.2015 22:23