Новости IT, хостинга
  Android, Apple, Facebook, Google, Linux, Microsoft, Samsung, Twitter, Интернет, Россия, браузеры, обновление ПО, онлайн-сервисы, операционные системы, планшеты, рынок ИТ, сделки, смартфоны, социальные сети, уязвимости  
  новостей: 10357
  комментариев: 2247

Представлен проект JSMad, с реализацией проигрывателя MP3 на языке JavaScript


В последнее время скорость выполнения JavaScript в новейших веб-браузерах стала настолько высокой, что на основе этого языка программирования стали появляться проекты мало связанные с разработкой веб-приложений. Самым заметным из таких проектов стал написанный на языке JavaScript эмулятор x86 компьютера, созданный талантливым французским исследователем Фабрисом Белларом (Fabrice Bellard). В рамках проекта JSMad предпринят ещё один эксперимент, в результате которого на языке JavaScript был написан декодер для файлов MP3.

JSMad позволяет веб-браузеру Mozilla Firefox 4 проигрывать файлы MP3 без использования Adobe Flash. Код также работает и в Google Chrome, начиная с 13 версии, но для работы нужно обязательно включить поддержку Web Audio API. Производительности JavaScript-движка хватает для беспроблемного проигрывания MP3-файлов с частотой дискретизации вплоть до 320KBit/sec. На основе JSMad можно легко создать основанную исключительно на веб-браузере программу по проигрыванию библиотеки музыки в стиле JukeBox.

Исходные тексты проекта размещены на сайте GitHub под лицензией GPLv2. Оценить JSMad в действии можно на сайте jsmad.org. Разработка была выполнена путем портирования MP3-декодера libmad, написанного на языке Си, в представление на языке JavaScript (около 15 тысяч строк кода). Поддержка ID3 была написана с нуля. Проект создан разработчиками в составе Amos Wenger, Antoine Marguerie, Matthias Georgi и Jens Nockert.

Как отмечает один из разработчиков - самой сложной проблемой в написании JSMad стала отладка, которая мешала формированию звукового потока. Для решения этой задачи было использовано приложение GNUPlot.

Из планов на будущее отмечается проведение оптимизации производительности, использование вместо строк бинарных массивов Uint8Arrays, создание более оптимальной стратегии буферизации потока, обеспечение поддержки MPEG 2.5 (поддерживается только MPEG Layer III, смысла в поддержке MPEG Layer I и II нет), обеспечение поддержки потоков со свободным битрейтом (переменный битрейт (VBR) поддерживается), реализация поддержки некоторых расширенных тегов ID3v2.2 и ID3v2.3.


Источник: opennet.ru

  19 июня 2011 547
Версия для печати

← предыдущая новость следующая новость →

Мой комментарий
Ваше имя*:
Email:
Комментарий*:
Зарегистрироваться автоматически: Вы будете зарегистрированы на сайте автоматически при добавлении комментария. Обязательно заполните поле Email для этого.
Сумма чисел 6 и 12*:            


Хостеры (2446)
HostDB (35)
Софт (2640)
Железо (993)
Интернет (1435)
Статистика и аналитика (3324)


Лучшие новости

Самые читаемые новости

Отправить сообщение администратору

Сумма чисел 37 и 8*:


Яндекс цитирования
сообщить о неточности