Авторизироваться
Меню сайта
Категории раздела
Для начинающих [16]
С этих статей вырасли все, кто сейчас программирует на MP. Именно с этих статей надо начинать новичку, качество у них не всегда хорошее, но почитать стоит.
Разбираем.Обьясняем [1]
В этой категории обьясняем, разьясняем библиотеки,примеры,мидлеты и т.д.
Прочее [4]
Прочее, что не касается программирования: как настроить MP, что нужно для работы и др...
Наш опрос
На чем вы хотите создавать игры для телефона?
Всего ответов: 321
Мини-чат
210
Статистика

Онлайн : 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Midlet Pascal » Для начинающих

4.Фоновая музыка твоего приложения.

Скачать в TXT

Итак, наступило время немного поработать с музыкой на твоей мобиле. Конечно, это не будет плеер с каталогизацией альбомов и прочими наворотами. Мы просто попробуем понять работу с музыкой на языке MidletPascal. Поняв этот материал, ты сможешь оснастить свою прогу фоновой музыкой. А если речь зайдёт за игры, то тут без музыки и звуковых эффектов никуда! Ну какая же игра, даже мобильная, без музыки? Вот, я тоже так думаю, так что не будем терять время и начнём! 

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

function OpenPlayer(resource:string; mimetype:string):boolean;

Эта функция открывает указанный в первом параметре файл ресурса в аудио плеере. Функция вернёт false, если не сможет открыть файл. Ресурс не запустится на проигрывание, пока не будет

выполнена функция 'startPlayer' (о ней немного позже). Второй параметр может принимать одно из следующих значений: 

-audio/x-wav - для проигрывания wav-файлов 

-audio/basic - для проигрывания au-файлов 

-audio/mpeg - для проигрывания mp3-файлов 

-audio/midi - для проигрывания MIDI-файлов 

Внимательно следи за поддерживаемыми форматами музыки. А то не хорошо получится, если твоя прога работает с mp3, а телефон клиента поддерживает только wav. Так же разработчики МидлетПаскаля предупреждают, что музыкальные функции работают только на телефонах MIDP-2.0, а на более ранних версиях телефонов приложения, использующие эти функции, приуд к краху. 
function SetPlayerCount(loopCount:integer):boolean;

Эта функция устанавливает количество раз, которое музыка должна проиграться. Если значение 'loopCount' равно -1, то музыка будет проигрываться постоянно, т.е. повторяться. Функция должна быть использована после OpenPlayer, но перед startPlayer. 
function StartPlayer:boolean;

Функция начинает проигрывать файл, открытый функцией OpenPlayer. Она возвратит false, если не сможет начать воспроизведение, а если всё в норме, то вернёт true. 
function GetPlayerDuration:integer;

Возвращает продолжительность музыки (в миллесекундах), воспроизводимую плеером. 
procedure StopPlayer;

Останавливает музыку. 


Вот все инструменты, которые предлогает МидлетПаскаль для работы с музыкой. Их, конечно, мало, но всё же они есть. Так что будем пользоваться тем, что есть. Вот небольшой пример, который проигрывает мелодию: 

begin 

OpenPlayer('/simple.mid', 'audio/midi'); 
SetPlayerCount(-1); 
StartPlayer; 

Delay(5000); 

end. 



Здечь много не хватает, например, проверки правильной работы каждой функции. Но это уже твоё дело, моё дело - только показать тебе основы, а дальше сам разбирайся, улутшай и пробуй! Можно вывести форму, установить на ней в текстовом поле длинну музыки, название файла и прочее, прочее... Пока хватит твоей фантазии. 

Ну а пока разбирайся со всем прочитанным, желаю удачи! Остальное позже...
Автор: Васючков Андрей aka Soffrick

Скачать в TXT


Категория: Для начинающих | Добавил: admin (12.11.2008)
Просмотров: 1982 | Комментарии: 2 | Рейтинг: 0.0/0
Всего комментариев: 2
23.12.2010 в 10:39 Спам
Ты сам себе протеворечишь, автор статьи, сначала ты пишишь о том что это функции, а в самом коде вызываешь как процедуру, как так Оо
26.08.2009 в 12:17 Спам
У меня ошибка((
cannot be called from here ; procedure call or assignment expected
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]