Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > JAVA Micro Edition > Программирование

Программирование Вопросы связанные с программированием в JAVA

Ответ
 
Опции темы
Старый 05.09.2006, 19:32   #1
@lex
Оператор ЭВМ
 
Регистрация: 31.08.2006
Сообщений: 42
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Воспроизведение видео?

Привет всем!
Хотел спросить по поводу воспроизведения видео...

Сам проект пишу на MIDlet pascal, на Java написан только класс использования плэера, вот его основная функция:
public static int open_url(String url) {
int res = 1;
try { 
close_player();
play = (Player) Manager.createPlayer(url);
play.realize();
vc = (VolumeControl) play.getControl("VolumeControl");
vid = null;
vid = (VideoControl) play.getControl("VideoControl");
if (vid != null) {
	res = 2;
 	vid.initDisplayMode(vid.USE_GUI_PRIMITIVE, null);
	 }
if (play.getState() != play.REALIZED) {res = 0;}
play.prefetch();
vc.setLevel(50);
if (play.getState() != play.PREFETCHED) {res = 0;}
} catch (Exception e) {res = 0;}
return res;
}
Аудио воспроизводится номально, а из видео играет только звук. Если использовать режим воспроизведения USE_DIRECT_VIDEO с
Canvas`ом (как это описано в документации), то функция возвращает ноль
Так вот, что нужно дописать/переписать в районе строки "vid.initDisplayMode(vid.USE_GUI_PRIMITIVE, null);", чтобы можно было
видеть изображение и как его можно скрыть и заново показать?

Заранее благодарен.

P.S.: Проект для телефонов Siemens х75
(Offline)
 
Ответить с цитированием
Старый 06.09.2006, 01:47   #2
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Re: Воспроизведение видео?

Не нашел у себя такой доки. Но я не вижу где плэеру показывается куда выводить видео. Или он использует текущий Displayable?
(Offline)
 
Ответить с цитированием
Старый 06.09.2006, 15:23   #3
@lex
Оператор ЭВМ
 
Регистрация: 31.08.2006
Сообщений: 42
Написано 0 полезных сообщений
(для 0 пользователей)
Сообщение Re: Воспроизведение видео?

Ну, вобщем-то да.
Просто я вобще не понял, как это указать, поэтому вот и спрашиваю.
В любом случае телефон видимо не поддерживает USE_DIRECT_VIDEO, а с использованием GUI PRIMITIVE как нибудь можно вывести изображение без использования форм, а просто в заданном месте?
(Offline)
 
Ответить с цитированием
Старый 07.09.2006, 11:22   #4
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Re: Воспроизведение видео?

сбрось доку класса, что-ли. я же говорю слабо понимаю суть. у меня нет таких классов.
(Offline)
 
Ответить с цитированием
Старый 07.09.2006, 17:33   #5
@lex
Оператор ЭВМ
 
Регистрация: 31.08.2006
Сообщений: 42
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Воспроизведение видео?

В примере простого плэера описано что-то вобще не понятное, оно у меня так и не скомпилилось:
try {
     Player p = Manager.createPlayer("http://abc.mpg");
     p.realize();
     VideoControl vc;
     if ((vc = (VideoControl)p.getControl("VideoControl")) != null)
         add((Component)vc.initDisplayMode(vc.USE_GUI_PRIMITIVE, null));
     p.start();
 } catch (MediaException pe) {
 } catch (IOException ioe) {
 }
В описаниях GUIControl описан метод использования формы, что меня не устраивает:
try {
       Player p = Manager.createPlayer("http://abc.mpg");
       p.realize();
       GUIControl gc;
       if ((gc = (GUIControl)p.getControl("GUIControl")) != null) {
           Form form = new Form("My GUI");
           form.append((Item)gc.initDisplayMode(GUIControl.USE_GUI_PRIMITIVE, null));
           Display.getDisplay(midlet).setCurrent(form);
       }
       p.start();
   } catch (MediaException pe) {
   } catch (IOException ioe) {
   }
В описании VideoControl описан метод с использованием Canvas, с ним вроде как всё ясно, но телефон не захотел играть вообще
javax.microedition.lcdui.Canvas canvas;
      :
   try {
       Player p = Manager.createPlayer("http://abc.mpg");
       p.realize();
       VideoControl vc;
       if ((vc = (VideoControl)p.getControl("VideoControl")) != null)
           vc.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, canvas));
       vc.setVisible(true);
       p.start();
   } catch (MediaException pe) {
   } catch (IOException ioe) {
   }
Попытался сделать всё также , только прописать Use_GUI_PRIMITIVE - изображения нет.

Вот полный исходник библиотеки:
import javax.microedition.media.*;
import javax.microedition.media.control.*;

public class Lib_xplay {

  private static Player play;
  private static VolumeControl vc;
  private static VideoControl vid;

public static int open_url(String url) {
int res = 1;
try { 
close_player();
play = (Player) Manager.createPlayer(url);
play.realize();
vc = (VolumeControl) play.getControl("VolumeControl");
vid = null;
vid = (VideoControl) play.getControl("VideoControl");
if (vid != null) {
	res = 2;
 	vid.initDisplayMode(vid.USE_GUI_PRIMITIVE, null);
	 }
if (play.getState() != play.REALIZED) {res = 0;}
play.prefetch();
vc.setLevel(50);
if (play.getState() != play.PREFETCHED) {res = 0;}
} catch (Exception e) {res = 0;}
return res;
}

public static void setvolume (int vol) {
if(vc != null) {vc.setLevel(vol);}}


public static int start_play() {
try {play.start(); return 1;} catch (MediaException e) {return 0;}}

public static int stop_play() 
{ try { if(play != null && play.getState() == play.STARTED) {
play.stop(); return 1;} else return 0; } catch (MediaException e) {return 0;}}


public static void close_player() {
try {
if (play != null) {
         if(play.getState() == play.STARTED) {
            play.stop();
         }
         if(play.getState() == play.PREFETCHED) {
            play.deallocate();
         }
         if(play.getState() == play.REALIZED || 
           play.getState() == play.UNREALIZED) {
            play.close();
         }
      } } catch (Exception e) {}
      play = null; }

public static int is_playing()
{ if(play != null && play.getState() == play.STARTED) {return 1;} else return 0; }

public static void vis_video(int bl) {
if (bl != 0) { vid.setVisible(true); } else { vid.setVisible(false); } }

}
Но в нём явно не хватает определения метода вывода изображения.
(Offline)
 
Ответить с цитированием
Старый 08.09.2006, 01:26   #6
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Re: Воспроизведение видео?

уже лучше. а под какие тела API?
(Offline)
 
Ответить с цитированием
Старый 08.09.2006, 09:44   #7
@lex
Оператор ЭВМ
 
Регистрация: 31.08.2006
Сообщений: 42
Написано 0 полезных сообщений
(для 0 пользователей)
Смех Re: Воспроизведение видео?

Под тела, в смысле девайсы? Под Siemens. Но тут дело наверное не этом. Я хочу понять, можно ли как-нибудь использовать USE_GUI_PRIMITIVE без формы и не в полноэкранном режиме.
Вложил mmapi-документацию по J2ME WTK, все примеры взяты из неё
(Offline)
 
Ответить с цитированием
Старый 12.09.2006, 10:36   #8
@lex
Оператор ЭВМ
 
Регистрация: 31.08.2006
Сообщений: 42
Написано 0 полезных сообщений
(для 0 пользователей)
Сообщение Re: Воспроизведение видео?

Чем больше пытаюсь разобраться, тем больше убеждаюсь, что MP - полное не очень
В итоге начал перенос кодов на J2ME WTK...

...Несколько вопросов полностью не соответствуют заголовку темы, но не хочется по пустякам штамповать новые:

1. Как в Java заставить находить переменные и функции, определённые в других файлах проекта, не приписывая каждый раз так: <имя_файла>.<переменная> ?

2. Как можно импортировать в проект библиотеки для MIDlet pascal ?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Lib_videocnv: воспроизведение видео в режиме Canvas! ViNT Библиотеки 53 19.05.2011 09:22
Ищу видео impersonalis Болтовня 6 22.11.2009 20:27
Воспроизведение звука Skythrone Основной форум 9 06.01.2009 17:43
Воспроизведение mid в блитзе ABTOMAT 2D-программирование 4 31.03.2008 17:41
Воспроизведение gif-анимаций Sic JAVA Micro Edition 3 02.12.2007 20:23


Часовой пояс GMT +4, время: 15:42.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com