Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программирование » Создание игр для мобильных телефонов - Майкл Моррисон

Создание игр для мобильных телефонов - Майкл Моррисон

Читать онлайн Создание игр для мобильных телефонов - Майкл Моррисон

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 31 32 33 34 35 36 37 38 39 ... 87
Перейти на страницу:

Если вы используете компьютер, управляемый Windows, для экспериментов с Wav-файлами в этой операционной системе есть специальный инструмент. Он называется Sound Recorder (Звукозапись). Чтобы запустить его, выполните следующее:

1. щелкните по кнопке Start (Пуск);

2. выберите All Programs ==> Accessories ==> Entertainment (Программы ==> Стандартные ==> Развлечения);

3. выберите программу Sound Recorder (Звукозапись).

...

В копилку Игрока

Sound Recorder включен во все версии операционной системы Windows. Вы найдете его в папке Accessories (Стандартные). Если вы не используете Windows, то необходимо найти другое программное обеспечение.

Программа Sound Recorder показана на рис. 9.1

Рис. 9.1. С помощью программы Sound Recorder вы можете записывать звуки и работать с ними

Вы заметите, что инструмент Sound Recorder содержит ряд кнопок, которые очень похожи на кнопки видеомагнитофона. Используя эти кнопки, вы можете записывать звуки с микрофона или CD-ROM, а также воспроизводить и останавливать их. Вы можете записать какой-нибудь звук, а затем добавить спецэффекты, например, обратное воспроизведение. Помните слухи о том, что если воспроизвести рок-музыку в обратном направлении, то можно услышать скрытые послания? Создайте собственное.

...

Совет Разработчику

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

Создание и редактирование волновых звуков

Когда вы приготовились к тому, чтобы создавать звуки, необходимо выбрать средство записи. Например, вы можете использовать для этих целей микрофон, записать стереозвук с кассетного проигрывателя или даже видеомагнитофона. Микрофон, пожалуй, – самое простое средство, поскольку практически все мультимедийные компьютеры оснащены им. Это также наиболее креативный способ. Однако вы можете использовать звуки, уже записанные на кассете, видеокассете, CD или DVD. В этом случае просто присоедините соответствующее средство к компьютеру.

Вне зависимости от места хранения требуемого звука процесс сохранения и обработки сэмплированного звука неизменен. После того как звук сэмплирован, воспроизведите его, убедитесь, что все в порядке. Может быть, звук будет слишком громким или, наоборот, тихим. Чтобы определить громкость звука, посмотрите на его временную диаграмму (waveform). Временная диаграмма – это графическое представление звуковой волны во времени. Если амплитуда сигнала слишком высока (выходит за пределы видимой области), то звук очень громкий. Если же вы с трудом слышите звук, то, вероятно, он слишком тихий. Чтобы устранить такие проблемы, вы можете либо подстроить входной уровень устройства и сэмплировать его снова, либо использовать инструменты усиления звукового редактора.

Самый лучший способ решения проблемы громкости звука – это подстройка входного уровня устройства и повторная дискретизация звука. После того как вы добились нужного уровня громкости, необходимо обрезать звук, удалив ненужные фрагменты. Обрезание звука (clipping) подразумевает выделение в звуковом редакторе области временной диаграммы и удаление ненужных фрагментов и тишины. Это помогает сократить длину звука и устранить ненужные задержки.

...

Совет Разработчику

Задержка (latency) – это интервал времени между началом воспроизведения звукового файла до начала звучания. Задержка должна быть сведена к минимуму, чтобы звуки воспроизводились в нужный момент. Лишние фрагменты тишины в начале звукового файла часто являются причиной задержки.

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

Продолжение знакомства с интерфейсом Player

В предыдущей главе вы узнали, как использовать интерфейс Player для воспроизведения тоновых звуков. Несмотря на то что тоны поддерживаются широким спектром телефонных аппаратов, цифровые звуки и MIDI-музыка переводят аудио мобильных игр на новый уровень. К счастью, интерфейс Player также позволяет без труда воспроизводить эти типы звуков. Но перед тем как приступить непосредственно к изучению методов воспроизведения звуков, давайте снова взглянем на интерфейс Player, побольше узнаем о его работе.

В MIDP 2.0 Media API интерфейс Player выполняет функции пульта дистанционного управления для воспроизведения различных типов звуков. Обычно, воспроизведение звука с использованием интерфейса Player включает следующие шаги:

1. создание проигрывателя с помощью метода Manager.CreatePlayer();

2. вызов метода prefetch(), который инициализирует подкачку звука и минимизирует задержку;

3. вызов метода start(), который запускает воспроизведение;

4. вызов метода stop(), прекращающий воспроизведение при необходимости;

5. вызов метода close(), закрывающего проигрыватель.

Итак, перед вами достаточно ясная картина того, что необходимо выполнить, чтобы воспроизвести звук с помощью интерфейса Player. Однако многое осталось за кадром. Так, проигрыватель имеет пять стадий жизненного цикла: UNREALIZED, REALIZED, PREFETCHED, STARTED и CLOSED. Их важность заключается в том, что при воспроизведении звука проигрыватель постоянно переходит из одного состояния в другое. Точно так же, как вы проводите свою жизнь: спите, гуляете, обедаете, гуляете и так далее, – проигрыватель проходит через свои стадии.

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

1. первое состояние проигрывателя – UNREALIZED;

2. проигрыватель входит в состояние REALIZED, когда в его распоряжении есть все необходимое для получения медиаресурсов;

3. проигрыватель входит в состояние PREFETCHED, когда нужные файлы закачены и готовы к воспроизведению;

4. состояние STERTED наступает при воспроизведении ресурса проигрывателем;

5. проигрыватель возвращается в состояние PREFETCHED по окончании воспроизведения;

6. проигрыватель входит в состояние CLOSED при закрытии.

После того как проигрыватель инициализирован и запущен, большую часть времени он проводит в состояниях PREFETCHED и STARTED, в зависимости от того, воспроизводится ли звук. Чтобы получить текущее состояние проигрывателя, используется метод getState(), который возвращает одну из пяти констант состояния (UNREALIZED, REALIZED, PREFETCHED или CLOSED).

Теперь, когда вы имеете представление о различных состояниях проигрывателя, давайте посмотрим на некоторые важные методы интерфейса Player, рассмотрим их функции:

► realize() – реализует проигрыватель без получения медиаресурсов (обычно нет необходимости в отдельном вызове этого метода);

► prefetch() – получает медиаресурсы, помогает минимизировать задержу (вызывается при инициализации проигрывателя);

► getState() – этот метод возвращает состояние проигрывателя (вызывается в случае, если необходимо точно знать текущее состояние проигрывателя);

► setLoopCount() – метод устанавливает число повторов при воспроизведении звука (должен вызываться перед методом start());

► start() – начинает воспроизведение звука;

► stop() – останавливает воспроизведение;

► getDuration() – возвращает длину звука (в миллисекундах);

► getMediaTime() – возвращает текущее время воспроизводимого ресурса (в миллисекундах);

► setMediaTime() – устанавливает время текущего ресурса (в миллисекундах);

► close() – закрывает проигрыватель.

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

Воспроизведение Wav-звуков в мобильных играх

Благодаря MIDP 2.0 Media API в мобильных играх без труда можно воспроизводить цифровые звуки. Главное, что вы должны решить, – откуда берется звук. Например, он может храниться в JAR-файле или скачиваться через сеть. Очевидно, что удобнее всего получать файл из JAR-архива, поэтому в большинстве игр делается именно так. В следующих разделах речь пойдет о том, как воспроизводить звуки, воспользовавшись каждым из методов.

...

В копилку Игрока

Помимо того, что вы можете воспроизводить звуки, хранящиеся в JAR-файле или в сетевом ресурсе, также можно проигрывать звуки из хранилища записей. Хранилище записей – это специальные базы данных, которые использует мидлет для доступа к данным и их хранения. Поскольку проще всего для хранения звуков использовать JAR-файл, то такой подход применяется чаще всего.

1 ... 31 32 33 34 35 36 37 38 39 ... 87
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Создание игр для мобильных телефонов - Майкл Моррисон.
Комментарии