- •Что Вам необходимо?
- •Создание miDlet-а
- •О том, что скрыто от наших глаз
- •А дальше?
- •Ресурсы
- •Инсталяция и запуск Tomcat
- •Написание исходного кода Servlet-а
- •Компиляция Servlet – а
- •Развертывание Servlet-а
- •Как обратиться к Servlet-у из miDlet-а
- •Замечания
- •Заключение
- •Дейтаграммы
- •Получение Web контента
- •Когда какой протокол использовать?
- •Стек протоколов
- •Профили
- •Bluetooth устройства и сети
- •Системные требования
- •Java api For Bluetooth — организация и пакеты
- •Анатомия miDlet-ов, использующих jsr 82
- •Использование Java apIs for Bluetooth
- •Использование Bluetooth в j2me приложениях. (jsr-82) - Часть 2. Обзор Connection и Device Management api Обзор Connection api
- •Типы Bluetooth соединения
- •Создание соединения
- •Ожидание соединения
- •Отправка и получение даннях
- •Обзор Device Management api
- •Удаленное устройство
- •Класс устройства
- •Получение информации о настройках Bluetooth устройства
- •Интерфейсы pim api
- •Классы pim api
- •Использование pim api
- •Использование эмулятора j2me Wireless Toolkit 2.2 для тестирования pim списков
- •Особенности спецификации Sony Ericsson
- •Свойства системы
- •Классы и интерфейсы FileConnection api
- •Операции ввода/вывода
- •Получение информации о файлах и каталогах
- •Вычисление Экспоненты
- •Гиперболические функции
- •Вычисление натурального логарифма
- •Вычисление арксинуса и арккосинуса
- •Вычисление арктангенса
- •Обзор mmapi
- •Механизм обработки мультимедмйной информации
- •Mmapi пакеты
- •Использование mmapi
- •Последовательности нот
- •Проигрывание мультимедийных файлов
- •Воспроизведение видео
- •Использование камеры
- •Поддерживаемые форматы
- •Ограничения использования mmapi в wtk
- •Пример простого медиаплеера
- •Создание midp приложения с использованием Visual Designer-а.
- •Редактирование Java исходников
- •Создание midp приложений с использованием Source Editor Создание нового j2me midp проекта
- •Редактирование Java исходников
- •Компиляция и запуск проекта
- •Выбор платформы эмулятора
- •Использование конфигурирования
- •Добавление конфигурации
- •Настройка конфигурации
Обзор mmapi
В профиле MIDP 1.0 отсутствовала возможность работы со звуком, поэтому приходилось полагаться на нестандартные классы, предлагаемые производителями мобильных телефонов. С появлением MIDP 2.0 эта проблема исчезла, поскольку в его состав входит мультимедиа библиотека MMAPI.
MMAPI имеет следующие особенности:
Поддерживает генерацию тонов, воспроизведение и запись Time-Based медиа информации. Пакет поддерживает любой time-based аудио или видео контент.
Скромные системные требования. MMAPI рассчитан на рабату в жестких условиях мобильных устройств.
Безразличие к протоколам и форматам. MMAPI не заточен под конкретный протокол и формат.
Разработчики могут ориентироваться на ограниченную часть типов контента.
Расширяемость. Новые возможности могут быть добавлены без необходимости переделывать старые функции. Легко добавляются новые форматы и механизмы управления средой.
Механизм обработки мультимедмйной информации
Обработка мультимедмйной информации делится на две части:
Обработка протокола: чтение данных из различных источников, например из файлов или сервера потока данных в систему обработки мультимедийной информации.
Обработка формата: разбор или декодирование полученных данных; предоставление их в понятном формате устройствам вывода (спикеру или дисплею).
Для облегчения этих операций API предоставляет два типа объектов высокого уровня:
DataSource реализует обработку протокола, скрывая подробности чтения данных из источника. Сервисные методы этого объекта дают возможность объекту Player обрабатывать контент.
Player получает данные от DataSource, обрабатывает их, переводит в формат, понятный устройствам вывода. Этот объект содержит методы управления воспроизведением.
MMAPI определяет еще один объект Manager. С его помощью ваше приложение может создавать объект Player на основании DataSources, и DataSources на основании InputStreams.
Для создания объекта Player необходимо вызвать метод Manager.createPlayer(String url). Параметр URL определяет протокол и формат. Он имеет вид: протокол:источник.
Приложение может использовать методы объекта Player для управления воспроизведением time-based медиа информацией.
Player может находиться в пяти состояниях: UNREALIZED, REALIZED, PREFETCHED, STARTED и CLOSED. После создания, Player находится в состоянии UNREALIZED. Вызов метода realize() переводит его в состояние REALIZED и инициализирует информацию необходимую player-у для получения медиа ресурсов. Метод prefetch() переводит его в состояние PREFETCHED. На этом этапе формируется соединение с потоком данных и производится закачка всех необходимых файлов. Вызов start() переводит плеер в режим STARTED, с этого момента начинается воспроизведение. Когда обработка данных завершается (достигнут конец потока данных), Player переходит в режим PREFETCHED. Вызов метода close() переводит Player в состояние CLOSED.
Помимо указанных выше методов, Player имеет еще несколько:
getState() - возвращает текущее состояние проигрывателя.
setLoopCount( int ) - устанавливает число повторов при воспроизведении звука.
getDuration() - возвращает длительность звука в миллисекундах.
getMediaTime() - возвращает текущее время воспроизведения в миллисекундах.
setMediaTime( int) - устанавливает текущее время воспроизведения в миллисекундах.
getCountType() - возвращает тип воспроизводимых звуковых данных.
dellocate() - освобождает ресурс, занятый проигрывателем.
Player позволяет осуществлять управление обрабатываемыми данными. Для этого используются методы getControl() (для определения типа управления) и getControls() (для получения управления). Например, при обработке MIDI информации вызов getControl() вернет MIDIControl.