Комментарии 29
Ура, интересный материал по HTML5! А то уже надоело читать одно и то же про сокращенную запись doctype
+10
Лично я столкнулся с вот какой проблемой :
Запускаешь трек1, синхронно с ним трек2, переключаешь вкладку в браузере, наблюдаешь хаос. А если их ещё больше, то ещё больший хаос. В добавок ко всему этому переключение громкости происходит в каждом браузере по-своему, но чаще всего от момента включения/выключения звука до того как это произойдёт проходит ощутимый промежуток времени. Да и музыку которая не успела загрузиться по каким-то причинам контролировать сложновато
Запускаешь трек1, синхронно с ним трек2, переключаешь вкладку в браузере, наблюдаешь хаос. А если их ещё больше, то ещё больший хаос. В добавок ко всему этому переключение громкости происходит в каждом браузере по-своему, но чаще всего от момента включения/выключения звука до того как это произойдёт проходит ощутимый промежуток времени. Да и музыку которая не успела загрузиться по каким-то причинам контролировать сложновато
+1
easeljs.com не открывается… Безжалостный хабраэффект?!
0
Интересно, можно ли это все как-то увязать с Google Music?
0
сдается мне что достаточно вбить в аудио мета-события, чтобы иметь точные тайминги аудио-событий потока. как насчет того, чтобы читать через html5 мета-события?
0
А что у них там с вводом-выводом в реальном режиме времени (или близко к тому — с задержками до 10мс)?
Т.е., чтобы, например, можно было снять с аудиоинтерфейса звук с микрофона (караоке, например, с автотюном), обработать его в online-плагине, и выпустить в колонки, с задержкой 0-8мс? С этим есть какие-то продвижения?
Т.е., чтобы, например, можно было снять с аудиоинтерфейса звук с микрофона (караоке, например, с автотюном), обработать его в online-плагине, и выпустить в колонки, с задержкой 0-8мс? С этим есть какие-то продвижения?
0
У них — это у кого? :) Если в W3C, то они пока только над новым стандартом думают.
0
Врят-ли с обычной звуковой картой удастся добиться таких таймингов.
-1
Интересуют обладатели нормальных аудиоинтерфейсов. Например, есть у меня M-Audio Fast Track USB для демок — на винде удается без особых проблем получить 4мс через ASIO-дрова.
А насчет «у них — это у кого? :)» — меня больше интересует не черновик стандарта, а реальная возможность воплотить это в современных браузерах, в течение пары ближайших лет. Хотя бы Gecko (FF) и WebKit (Chrome). Существует ли она сейчас? Например, чтобы из браузера задействовать ASIO в Win и CoreAudio в MacOS, получить интерфейс звуковухи (входы/выходы), читать оттуда поток, обрабатывать, и выбрасывать обратно, роутинг на плечах приложения.
Есть несколько классных идей, но для их реализации как раз не хватает этой возможности.
Подскажите, какие могут быть варианты, кроме написания отдельного плагина под NSAPI, чтобы код загружался из онлайна (будь он JS или еще что-нибудь), исполнялся без лишних установок чего-нибудь и позволял производить обработку сигнала с аудиоинтерфейса с малыми задержками?
У Google присматривался Native Client, я писал туда запрос на фичу, но они его по непонятным причинам отклонили, поэтому ищу еще варианты.
А насчет «у них — это у кого? :)» — меня больше интересует не черновик стандарта, а реальная возможность воплотить это в современных браузерах, в течение пары ближайших лет. Хотя бы Gecko (FF) и WebKit (Chrome). Существует ли она сейчас? Например, чтобы из браузера задействовать ASIO в Win и CoreAudio в MacOS, получить интерфейс звуковухи (входы/выходы), читать оттуда поток, обрабатывать, и выбрасывать обратно, роутинг на плечах приложения.
Есть несколько классных идей, но для их реализации как раз не хватает этой возможности.
Подскажите, какие могут быть варианты, кроме написания отдельного плагина под NSAPI, чтобы код загружался из онлайна (будь он JS или еще что-нибудь), исполнялся без лишних установок чего-нибудь и позволял производить обработку сигнала с аудиоинтерфейса с малыми задержками?
У Google присматривался Native Client, я писал туда запрос на фичу, но они его по непонятным причинам отклонили, поэтому ищу еще варианты.
0
Честно говоря, чтобы что-то такое работало кроссбраузерно не вижу других адекватных вариантов кроме того, что будет соответствующий стандарт или набор стандартов, предоставляющие необходимые API, + нативная реализация в браузерах большинства сложных операций, учитывающая возможности железа для оптимизации обработки данных.
Собственно, в задачи Audio WG входит создать что-то похожее на то, о чем вы говорите:
•Access to audio devices, such as for microphones or other audio inputs, and multi-channel speakers or other audio outputs.
•APIs and advanced functionality regarding audio cache management and audio capability information
Собственно, в задачи Audio WG входит создать что-то похожее на то, о чем вы говорите:
•Access to audio devices, such as for microphones or other audio inputs, and multi-channel speakers or other audio outputs.
•APIs and advanced functionality regarding audio cache management and audio capability information
0
www.ro.me/
Мне интересно как тут синхронизировали.
Вообще безумно красиво. Хочется сразу сайты в WebGL делать.
Мне интересно как тут синхронизировали.
Вообще безумно красиво. Хочется сразу сайты в WebGL делать.
+2
У меня сразу же возникла ассоциация с субтитрами :) Было бы не плохо если нечто подобное добавили прямо в audio\video элементы, например как-то так
<audio src="..." subtitles="lyrics.sub">
вместо того чтобы прописывать подобные данные в JS-коде0
> jQuery + Sizzle.js (для селекторов)
А что есть в Sizzle, чего нельзя сделать с помощью jQuery?
А что есть в Sizzle, чего нельзя сделать с помощью jQuery?
0
Если выражаться точнее, то:
Sizzle.js is a JavaScript library that implements a «CSS selector engine designed to be easily dropped in to a host library.» jQuery uses it internally for its CSS selection needs. If you wanted a CSS engine and had no need for all the other JavaScript benefits of jQuery, you could use Sizzle.js separately.
0
а можно всё это в обратном направлении проделать? т.е. не текст переключать в зависимости от положения аудио, а аудио переключать в зависимости от чего-то…
можно ли как-то программно давать указание проигрывать определенный отрезок аудио? во флеше я догадываюсь как это сделать, как-то почти приступил к реализации. а средствами jquery — не представляю даже :(
можно ли как-то программно давать указание проигрывать определенный отрезок аудио? во флеше я догадываюсь как это сделать, как-то почти приступил к реализации. а средствами jquery — не представляю даже :(
0
а останавливать её тоже можно? допустим, задать, проиграть от секунды 310 до 345.
и как это будет происходить? файл сначала весь загружается, потом перематывается куда нужно, или грузится тот интервал, что нам нужен?
может я упустил где-то, — если не трудно, дайте пожалуйста ссылку на документацию исчерпывающую и доступную по HTML5 Audio (Video)
и как это будет происходить? файл сначала весь загружается, потом перематывается куда нужно, или грузится тот интервал, что нам нужен?
может я упустил где-то, — если не трудно, дайте пожалуйста ссылку на документацию исчерпывающую и доступную по HTML5 Audio (Video)
0
Спека: www.w3.org/TR/2011/WD-html5-20110525/the-iframe-element.html#the-audio-element
Грузится с буферизацией и зависит от реализации, можно перемотать на нужный фрагмент, но нужно вручную отследить, когда проигрывание достигнет конца интервала.
В целом, работа осуществялется также как и с видео, только нет экрана habrahabr.ru/company/microsoft/blog/127295/
Грузится с буферизацией и зависит от реализации, можно перемотать на нужный фрагмент, но нужно вручную отследить, когда проигрывание достигнет конца интервала.
В целом, работа осуществялется также как и с видео, только нет экрана habrahabr.ru/company/microsoft/blog/127295/
+1
большое спасибо
0
Если все таки использовать Flash как источник низкоуровневых аудиоданных, то нельзя обойти вниманием soundManager2. В нем уже реализовано получение EQ, например.
Собственно, само получение данных не менее красиво:
Если есть желание нарисовать фон проигрывания «в будущее», то без предобработки не обойтись. Но никто не мешает для заранее фиксированного аудиофайла получить картинку с помощью, например php-waveform-png, отобразить фоном, а реалтайм отображать soundManager'ом.
Пример плеера с частотным спектром, увы, располагается в ЛС.
Собственно, само получение данных не менее красиво:
soundObject = soundManager.createSound({
... разные параметры
useFastPolling: true, // включение обновления 10 мс, вместо обычных 50 мс
useEQData: true, // включаем EQ
whileplaying: function() {
some_func_for_update_anything(); // вызов функции обновления визуализации (таблицами, дивами, канвасом - как уже нравится.
}
});
function some_func_for_update_anything() {
//например, используем библиотеку WaveForm (http://waveformjs.org/) чтобы нарисовать частотный спектр в стиле SoundCloud
waveform.update({data: soundObject.eqData.right}); // для упрощенного примера взят поток правого динамика. если сделать console.log(soundObject.eqData.right), то отобразится массив из 256 значений от -1 до 1.
}
Если есть желание нарисовать фон проигрывания «в будущее», то без предобработки не обойтись. Но никто не мешает для заранее фиксированного аудиофайла получить картинку с помощью, например php-waveform-png, отобразить фоном, а реалтайм отображать soundManager'ом.
Пример плеера с частотным спектром, увы, располагается в ЛС.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Визуализация аудио в HTML5