В J2ME есть поддержка мобильного аудио – Mobile Media API, который представляет набор классов и интерфейсов, поддерживающих разнообразные средства мультимедиа в зависимости от типа устройства. Интерфейс Mobile Media API состоит из двух различных наборов API:
► Mobile Media API– для устройств с расширенными средствами мультимедиа и воспроизведения звука;
► MIDP 2.0 Media API– для устройств, поддерживающих только аудио.
Неудивительно, что в настоящее время большинство мобильных телефонов поддерживают MIDP 2.0 Media API, поэтому мы уделим внимание этому интерфейсу. Чтобы вы лучше представляли, что можно сделать, используя MIDP 2.0 Media API, приведу список возможностей, поддерживаемых любым телефоном стандарта MIDP 2.0:
► основные функции управления: воспроизведение, остановка, пауза и т. п.;
► специальные средства, например, регулятор громкости;
► создание звуков и их последовательностей.
Вы уже знакомы со звуками и их последовательностями, иначе они называются рингтонами. Для игр вы можете использовать MIDP 2.0 Media API для создания звуков и их последовательностей – звуковых эффектов и музыки. Однако этим возможности API не исчерпываются. Он также поддерживает различные дополнительные типы мультимедиа, например, звуковые файлы, MIDI-музыку и MP3-аудио. Нет гарантии, что эти средства аудио поддерживаются всеми телефонами стандарта MIDP 2.0, но некоторые телефоны поддерживают эти возможности уже сегодня. Как у разработчика мобильных игр, у вас есть возможность использовать более совершенные средства работы со звуком, или использовать комбинированные приемы.
MIDP 2.0 Media API разработан с учетом трех основных компонентов: менеджер, проигрыватель и управление. Вместе эти три компонента создают программный интерфейс для работы с различными аудиосредствами. Классы и интерфейсы, входящие в состав MIDP 2.0 Media API размещены в пакетах javax.microedition.media и javax.microedition.media.control. Класс Manager, расположенный в пакете media, который позволяет опрашивать телефон о поддерживаемых средствах мультимедиа, а также создавать проигрыватели для воспроизведения любых типов мультимедийных данных. Интерфейс Player располагается в том же пакете, он реализует методы управления воспроизведением аудио. Интерфейс Control служит базовым интерфейсом для особых средств управления мультимедиа, например, регулятором громкости и звуков. Интерфейсы VolumeControl и ToneControl расположены в пакете media.control.
Общий подход, используемый для воспроизведения звука средствами MIDP 2.0 Media API, таков:
1. использовать класс Manager для доступа к особому типу данных;
2. использовать интерфейс Player для воспроизведения мультимедиа;
3. при необходимости использовать интерфейс Control для управления воспроизведением.
Указанный подход является общим и, естественно, может меняться в зависимости от типа медиа. Например, чтобы воспроизвести один звук, достаточно вызвать метод класса Manager, который называется playTone(). Чтобы создать и воспроизвести последовательность звуков, необходимо использовать интерфейс ToneControl. В этой главе вы научитесь воспроизводить рингтоны и отдельные звуки, в следующей речь пойдет о воспроизведении звуковых файлов, MIDI-музыки и MP3 аудио.
Тоновые звуки и музыка
Перед тем как приступить к изучению особенностей воспроизведения тонов в MIDP 2.0 Media API, важно узнать о некоторых аспектах тонов и музыки. Вспомните, что, с точки зрения физики, звук – это волна, перемещающаяся в пространстве. Звуковая волна – это результат сжатия и расширения среды. Иначе говоря, звуковая волна – это серия движущихся изменений давления. Вы слышите звук, потому что движущаяся звуковая волна попадает в ваше ухо, а изменение давления воздействует на барабанную перепонку. Если вы оказались на скалистом побережье океана, вы услышите, как волны разбиваются о скалы. Громкость звука определяется энергией звуковой волны.
Частота звуковой волны – это скорость, с которой колеблется (или вибрирует) волна при движении в среде. Колебания звуковой волны также называются высотой звука. Вы можете услышать звук различной частоты, если ударите ложкой по стеклянному стакану с водой. Количество воды в стакане влияет на частоту издаваемого звука, а следовательно, на высоту звука.
Частота звука измеряется в герцах (Гц) – число колебаний в секунду. Музыкальные ноты соответствуют звукам определенной частоты. Например, среднее C соответствует звуку с частотой около 262 Гц. Вместо того чтобы говорить о звуках в цифрах, в соответствие им ставят буквы A, B и C. В таблице 8.1 показана одна октава, которая содержит двенадцать нот и соответствующие им значения частот звука.
Читать дальше
Конец ознакомительного отрывка
Купить книгу