Включение музыки (base64)

Включение музыки (base64)

Летом 2008 года весь мир облетела страница, содержащая реализацию первого уровня Super Mario Brothers. В нее, в общем, можно играть, хотя упущены многие ключевые аспекты (нет грибов, нет флага, нет повышающих очков и т. д.). Однако это, на самом деле, не самый интересный аспект этой разработки.

Наверное, больше всего интереса в этом веб-приложении представляет не сама игровая механика, а тот факт, что все собрано в одном-единственном файле — игровом скрипте, который включает все игровые спрайты и всю музыку. Это весьма любопытный образец использования технологий. Удивительно, но способ подключения музыки в этом приложении, пожалуй, наиболее простой для понимания. Приложение использует схему data:URI, которая кодирует музыкальные MIDI-файлы Mario в base64-виде.

Результат очень просто найти в исходном файле:

aSounds = [

// очень маленькая и простая тема Mario. Написал Mike Martel.

"data:audio/mid;base64,TVRoZAAAAAYAAQAEAMBNVH...",

// игра закончилась. Написал John N. Engelmann.

"data:audio/mid;base64,TVRoZAAAAAYAAQADAHhNVH..."

],

data:URI работает следующим образом: все содержимое выбранного файла кодируется в виде одной строки в исходном файле. В результате мы получаем 1 файл вместо трех: одного исходного и двух внешних. В данном случае вся закодированная строка отправляется элементу <embed/>, который и отвечает за проигрывание MIDI-файла. Можно обнаружить конечный результат этих махинаций в следующем виде:

playMusic = function(iSoundID, bLoop) {

if (!bMusic)

return;

var oEmbed = dc("embed");

oEmbed.src = aSounds[iSoundID];

oEmbed.id = "sound_" + iSoundID;

if (bLoop)

oEmbed.setAttribute("loop", "true");

oEmbed.setAttribute("autostart", "true");

oEmbed.style.position = "absolute";

oEmbed.style.left = -1000;

appChild(document.body, oEmbed);

},

Вышеприведенный код просто создает элемент embed, устанавливает для него автозапуск проигрывания музыки и в качестве источника данных указывает data:URI. В результате мы получаем MIDI-файл, который сам начинает проигрываться (предположительно, тот же результат мог быть получен при использовании другого универсального музыкального файлового формата — WAV).

Файлы в формате data:URI могут проигрываться всеми браузерами, за исключением Internet Explorer. Поэтому пользователи Internet Explorer просто не получают музыкального сопровождения для игры (хотя можно было бы только для IE подгружать его динамически, создавая тот же самый embed просто со ссылкой на внешний файл).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

16.13.6 Метод кодирования Base64

Из книги автора

16.13.6 Метод кодирования Base64 Метод кодирования Base64 преобразует любой тип данных к большему в 3 раза количеству текстовых символов. Данные разделяются на части по три 8-разрядных, байта. Например:10001000 00110011 11110001Для преобразования эта последовательность сначала разделяется


5.2. Прослушивание музыки

Из книги автора

5.2. Прослушивание музыки mpg123Это самая простая утилита, позволяющая слушать музыку в консольном режиме. Скачать ее можно с домашней страницы разработчика www.mpg123.de.В графическом режиме запускайте ее через виртуальный терминал:$ mpg123 file.mp3Программа позволяет прослушивать


5.3. Воспроизведение музыки

Из книги автора

5.3. Воспроизведение музыки 5.3.1. Проигрыватели В Fedora 8 вам доступны два музыкальных проигрывателя (если не считать проигрывателя AudioCD) - Audacious и Rhytmbox. Вы можете установить и дополнительные проигрыватели, но в этом просто нет


Поиск музыки и видео

Из книги автора

Поиск музыки и видео Как и поиск картинок, поиск мультимедийных файлов имеет особенности. С точки зрения поисковиков, мультимедийные файлы индексируются проще, чем изображения. Во-первых, большинство современных аудио– и видеоформатов поддерживают возможность хранить


2.37. base64-кодирование и декодирование

Из книги автора

2.37. base64-кодирование и декодирование Алгоритм base64 часто применяется для преобразования двоичных данных в текстовую форму, не содержащую специальных символов. Например, в конференциях так обмениваются исполняемыми файлами.Простейший способ осуществить base64-кодирование и


В поисках волшебной музыки

Из книги автора

В поисках волшебной музыки Полный список нововведений линейки 5.1x обширен, но действительно интересна в нем всего пара строчек - ведь увеличением скорости «ограбления» компакт-дисков и поддержкой экзотических кодеков сегодня никого не удивить. Пожалуй, заслуживает


Запись музыки

Из книги автора

Запись музыки Музыкальные диски бывают, как правило, трех форматов:AudioCD — в качестве носителя данных выступает CD-диск. На диск можно записать до 80 минут аудиоинформации. Учитывая, что на AudioCD поместится около 20 песен (всего!), то предпочтительнее записывать на диск


10.3. Поиск фильмов и музыки

Из книги автора

10.3. Поиск фильмов и музыки 10.3.1. Пиринговые сети: здесь есть музыка и видео В январе 1999 года Шон Фэннинг, восемнадцатилетний студент одного из американских вузов, написал программу, позволяющую обмениваться MP3-файлами по Интернету. Программа была написана, так сказать, для


13.1. Воспроизведение музыки

Из книги автора

13.1. Воспроизведение музыки Опять «семерка» порадовала прекрасными средствами для воспроизведения музыки и видео. Вообще, проигрыватель Windows Media, используемый в Windows 7, очень напоминает свою предыдущую версию, которая использовалась в Windows Vista, однако новый проигрыватель


Глава 12 Прослушивание музыки

Из книги автора

Глава 12 Прослушивание музыки ? Winamp.? Windows Media Player.В этой главе речь пойдет о программах, которые предоставляют мультимедийные возможности: прослушивание музыки, просмотр фильмов и т. д.Самая простая задача – прослушивание звукового компакт-диска. Чаще всего операционная


Приложение E Описание Base64

Из книги автора

Приложение E Описание Base64 Этот алгоритм был разработан для представления произвольных последовательностей байтов в форму, читаемую для человека. Кодирующий и декодирующий алгоритмы очень просты, но закодированные данные примерно на 33% больше, чем некодированные. Этот


Копирование музыки с диска

Из книги автора

Копирование музыки с диска Представим, что подруга дала вам послушать диск, а он вам так понравился, что не хочется расставаться. Есть выход. Можно скопировать песни на ваш компьютер.Для этого вставьте ваш диск в CD-ROM. В правой части окна проигрывателя отобразится список