Модераторы: javastic, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> playlist midi, wav мелодии, проиграть несколько звуков в игре  
:(
    Опции темы
TimeToCoffee
  Дата 5.8.2008, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



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

заранее благодарен....
PM MAIL   Вверх
eugine_s
Дата 5.8.2008, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 581
Регистрация: 14.11.2007
Где: Киев

Репутация: 17
Всего: 17



Цитата(TimeToCoffee @  5.8.2008,  11:39 Найти цитируемый пост)
(большее количество недопустимо по всем известным причинам)


И какие-то это всем известные причины?

почему же нельзя? еще как можно. В твоем случае даже нужно, так как если во время игры, ты будешь одним плеером проигрывать звук, то:
1) звук точно будет тормозить, так как перед тем как его проиграть его нужно будет вытащить из jar-a, создать плеер и только потом он может быть проигран. 
2) кроме того что звук будет тормозить, может и сама игра тормозить. На каком-то телефоне такое наблюдал - звук создавался только в тот момент когда он нужен - игра сразу же тормозила.


Поэтому звуки нужно все создавать до начала их использования. 

Только особенность j2me в том, что одновременно нельзя чтобы больше одно плеера находились в состоянии START (или PREFETCHED- тут зависит от реализации jvm).

Поэтому создаешь нужное кол-во плееров:

Код

                    player[i] = Manager.createPlayer(in,"audio/midi");

ставишь если нужно листенер:

Код

                    player[i].addPlayerListener(this);
                    

и переводишь в начальное состояние. Какое? Путем эксперимента. Например на SE я перевожу плееры в REALIZE

Код

player[i].realize();


на нокии часть (s40) тоже в REALIZE, а другую часть (s60) в PREFETCH: 

Код

                    player[i].prefetch();



Когда нужно какой-то плеер проиграть, то если активный другой плеер в данный момент, то его останавливаю (player[i].stop(); - хотя тут тоже по разному, например иногда нужно еще и deallocate() вызывать), а нужный плеер стартуешь - player[i].start().


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



PM MAIL   Вверх
TimeToCoffee
Дата 6.8.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 5.8.2008

Репутация: нет
Всего: нет



спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0420 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.