forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=124)
-   -   Lib_videocnv: воспроизведение видео в режиме Canvas! (http://forum.boolean.name/showthread.php?t=6197)

ViNT 01.08.2008 19:26

Lib_videocnv: воспроизведение видео в режиме Canvas!
 
Вложений: 3
Наконец-то удалось сделать библиотеку для воспроизведения видео в Canvas!

v2.0
Испрален баг с функцией get_duration.

v3.0
Теперь библиотека работает через стандартный плеер, т.е. можно грузить видео из ресурса стандартными функциями. Позиция в файле определяется в МИКРОсекундах.

Библиотека содержит следующие функции:

public static void init_display(int fsm)
Инициализация дисплея.
Параметры:
fsm - плоноэкранный режим, 1-включить,-1-выключить.

public static void load_fs(String FileName, String mime)
Загрузка файла.
Параметры:
FileName - имя файла.
mime - принятый в j2me идентификатор типа файла,
для 3gp-'video/3gpp', для MPEG-4 - 'video/mpeg'

Для загрузки из ресурса можно использовать стандартную функцию OpenPlayer.

public static void set_fullscreen(int flag)
Установка режима видео:
если flag=1 - автоматическая подгонка
видео под размер экрана, с сохранением
отношения сторон, иначе - использование размера,
установленного set_size.

public static void set_location(int x, int y)
Установка расположения изображения.

public static void set_size(int w, int h)public static void set_visible(int flag)public static void start()
Установка резмеров изображения.
Параметры:
w-ширина
h-высота

public static void start()
Запуск воспроизведения.

public static void stop()
Остановка воспроизведения.

public static int get_src_width()
Возвращает ширину исходного изображения.

public static int get_src_height()
Возвращает высоту исходного изображения.

public static void set_volume(int vol)
Установка громкости звука.
Параметры:
vol-значение громкрсти(0-100)

public static void set_mute(int flag)
Если flag=1 - выключить звук, если flag=-1-
включить звук.

public static int get_duration()
Возвращает длительность видео в МИКРОсекундах.

public static int get_position()
Возвращает текущую позицию в МИКРОсекундах.

public static int set_position(int pos)
Устанавливает позицию в МИКРОсекундах.
Параметры: int pos - позиция в МИКРОсекундах
Возвращает 1 в случае успеха и -1 в случае ошибки.

public static void close_player()
Закрытие плеера.

Для продолжения работы с Canvas MP нужно вызвать ShowCanvas!

Внимание!
Необходимо добавить файл VCNV.class в проект как ресурс.

Для использования третьей версии нужно также добавить в ресурсы файл P.class из архива P.zip. Если в программе вызываются стандартные функции плеера, класс P добавлять не нужно.

Библиотека требует доступа к ФС.
Поддерживается файловая система JSR75.
Телефон должен поддерживать воспроизведение
видео из java.
Проверено на SE k510i.

Версия 3.0 от 21:20 20.08.09

vitalik1 09.08.2008 00:29

Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
 
А можно сделать библиотеку Lib_videocnv для siemens x65-x75?

ViNT 09.08.2008 02:05

Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
 
Цитата:

Сообщение от vitalik1 (Сообщение 84068)
А можно сделать библиотеку Lib_videocnv для siemens x65-x75?

Пока врядли - тестировать не на чем.
Хотя возможно попробую.

m1kc. 14.09.2008 21:23

Lib_videocnv: воспроизведение видео в режиме Canvas!
 
В общем, у меня такая проблема.

Запускаю видео этим кодом:
PHP код:

videocnv.init_display(1);
videocnv.load(mc_path+mc_array[i]); // Загрузка файла
videocnv.set_fullscreen(0); // Установка размера вручную
videocnv.set_location(0GetHeight/2-GetWidth/4*3/2); // По центру экрана, пропорции 4:3
videocnv.set_size(GetWidthGetWidth/4*3); // Растягиваю на весь экран
videocnv.set_visible(1);
videocnv.set_volume(100);
videocnv.start

Потом жду, пока оно не закончится:

PHP код:

Delay(videocnv.get_duration); 

И пытаюсь закрыть плеер вот этим кодом:

PHP код:

videocnv.set_visible(-1);
videocnv.close_player;
videocnv.init_display(-1); 

Все нормально воспроизводится, но после окончания файла вижу черный экран и прога виснет намертво. Думаю, что ошибка в последней части. Что я там неправильно прописал?

Вредитель 15.09.2008 14:21

Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
 
Цитата:

public static void init_display(int fsm)
Инициализация дисплея.
Параметры:
fsm - плоноэкранный режим, 1-включить,-1-выключить.
videocnv.init_display(-1); -- это активировать плеер без полноэкранного режима, при повторной активации прога зависает, убери эту строчку.

m1kc. 15.09.2008 14:41

Lib_videocnv: воспроизведение видео в режиме Canvas!
 
Ясно, спасибо! :)

m1kc. 22.09.2008 17:19

Lib_videocnv: воспроизведение видео в режиме Canvas!
 
Не, чета все равно зависает...

ViNT 22.09.2008 22:27

Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
 
Сложно сказать, в чем дело - проверить на теле не могу.
Пример работает нормально или тоже зависает?

m1kc. 23.09.2008 20:44

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

ViNT 23.09.2008 21:23

Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
 
А ShowCanvas после остановки воспроизведения вызывается?

m1kc. 24.09.2008 13:51

Lib_videocnv: воспроизведение видео в режиме Canvas!
 
Теперь да, но эффект нулевой. Код (после всех изменений):

PHP код:

videocnv.init_display(1);
videocnv.load(mc_path+mc_array[i]);
videocnv.set_fullscreen(0);
videocnv.set_location(0GetHeight/2-GetWidth/4*3/2);
videocnv.set_size(GetWidthGetWidth/4*3);
videocnv.set_visible(1);
videocnv.set_volume(100);
videocnv.start;
Delay(videocnv.get_duration);
videocnv.close_player;
ShowCanvas


Вредитель 24.09.2008 15:38

Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
 
Цитата:

public static void stop()
Остановка воспроизведения.
может это?

m1kc. 24.09.2008 15:40

Lib_videocnv: воспроизведение видео в режиме Canvas!
 
Цитата:

Сообщение от Вредитель (Сообщение 86776)
может это?

Пробовал уже. Не айс.

ViNT 24.09.2008 21:42

Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
 
Сбой возникает при вызове Delay(get_duration). Похоже, функция дает неправильный результат и мидлет ждет слишком долго. В чем именно дело пока непонятно, возможно ошибка при переводе long в int попробую разобраться, но тут другая проблема - пересел на висту, не могу поставить JBuilder, а при прямой компиляции в WTK матерится, что в классе Canvas нет метода setFullScreenMode, хотя в JB компилил нормально. Может кто подскажет, какие ключи надо использовать?
P.S. Сколько весит NetBeans и где его лучше скачать? И вообще, пойдет ли он на висте?

odd 25.09.2008 06:07

Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
 
Пробовал ставить NetBeans на висту - не ставится. Тупо не может почему-то обнаружить jdk, хотя он там есть. Так что в NetBeans лучше работать под XP. Весит мобильная версия метров 70 в запакованном виде. Если всё ещё интересно - качай с www.netbeans.org


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot