![](images/chestnut/misc/left.gif) |
01.08.2008, 19:26
|
#1
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Lib_videocnv: воспроизведение видео в режиме Canvas!
Наконец-то удалось сделать библиотеку для воспроизведения видео в 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
Последний раз редактировалось ViNT, 06.10.2009 в 01:00.
|
(Offline)
|
|
Эти 10 пользователя(ей) сказали Спасибо ViNT за это полезное сообщение:
|
|
09.08.2008, 00:29
|
#2
|
Оператор ЭВМ
Регистрация: 11.11.2007
Сообщений: 26
Написано 6 полезных сообщений (для 10 пользователей)
|
Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
А можно сделать библиотеку Lib_videocnv для siemens x65-x75?
|
(Offline)
|
|
09.08.2008, 02:05
|
#3
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
Сообщение от vitalik1
А можно сделать библиотеку Lib_videocnv для siemens x65-x75?
|
Пока врядли - тестировать не на чем.
Хотя возможно попробую.
|
(Offline)
|
|
14.09.2008, 21:23
|
#4
|
Оператор ЭВМ
Регистрация: 04.09.2008
Сообщений: 39
Написано 4 полезных сообщений (для 5 пользователей)
|
Lib_videocnv: воспроизведение видео в режиме Canvas!
В общем, у меня такая проблема.
Запускаю видео этим кодом:
videocnv.init_display(1); videocnv.load(mc_path+mc_array[i]); // Загрузка файла videocnv.set_fullscreen(0); // Установка размера вручную videocnv.set_location(0, GetHeight/2-GetWidth/4*3/2); // По центру экрана, пропорции 4:3 videocnv.set_size(GetWidth, GetWidth/4*3); // Растягиваю на весь экран videocnv.set_visible(1); videocnv.set_volume(100); videocnv.start;
Потом жду, пока оно не закончится:
Delay(videocnv.get_duration);
И пытаюсь закрыть плеер вот этим кодом:
videocnv.set_visible(-1); videocnv.close_player; videocnv.init_display(-1);
Все нормально воспроизводится, но после окончания файла вижу черный экран и прога виснет намертво. Думаю, что ошибка в последней части. Что я там неправильно прописал?
|
(Offline)
|
|
15.09.2008, 14:21
|
#5
|
AnyKey`щик
Регистрация: 31.08.2008
Сообщений: 11
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
public static void init_display(int fsm)
Инициализация дисплея.
Параметры:
fsm - плоноэкранный режим, 1-включить,-1-выключить.
|
videocnv.init_display(-1); -- это активировать плеер без полноэкранного режима, при повторной активации прога зависает, убери эту строчку.
|
(Offline)
|
|
15.09.2008, 14:41
|
#6
|
Оператор ЭВМ
Регистрация: 04.09.2008
Сообщений: 39
Написано 4 полезных сообщений (для 5 пользователей)
|
Lib_videocnv: воспроизведение видео в режиме Canvas!
Ясно, спасибо! ![:)](images/smilies/smile.gif)
|
(Offline)
|
|
22.09.2008, 17:19
|
#7
|
Оператор ЭВМ
Регистрация: 04.09.2008
Сообщений: 39
Написано 4 полезных сообщений (для 5 пользователей)
|
Lib_videocnv: воспроизведение видео в режиме Canvas!
Не, чета все равно зависает...
|
(Offline)
|
|
22.09.2008, 22:27
|
#8
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
Сложно сказать, в чем дело - проверить на теле не могу.
Пример работает нормально или тоже зависает?
|
(Offline)
|
|
23.09.2008, 20:44
|
#9
|
Оператор ЭВМ
Регистрация: 04.09.2008
Сообщений: 39
Написано 4 полезных сообщений (для 5 пользователей)
|
Lib_videocnv: воспроизведение видео в режиме Canvas!
Кхм, я чувствую, ты не понял, в чем проблема. Все нормально воспроизводится, но после окончания видео я вижу только черный экран с первым кадром посередине, а по идее прога должна выполняться дальше. Пример нормально работает, но там после нажатия на 0 прога просто завершается, там дальше нет никакого кода, использующего экран.
|
(Offline)
|
|
23.09.2008, 21:23
|
#10
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
А ShowCanvas после остановки воспроизведения вызывается?
|
(Offline)
|
|
24.09.2008, 13:51
|
#11
|
Оператор ЭВМ
Регистрация: 04.09.2008
Сообщений: 39
Написано 4 полезных сообщений (для 5 пользователей)
|
Lib_videocnv: воспроизведение видео в режиме Canvas!
Теперь да, но эффект нулевой. Код (после всех изменений):
videocnv.init_display(1); videocnv.load(mc_path+mc_array[i]); videocnv.set_fullscreen(0); videocnv.set_location(0, GetHeight/2-GetWidth/4*3/2); videocnv.set_size(GetWidth, GetWidth/4*3); videocnv.set_visible(1); videocnv.set_volume(100); videocnv.start; Delay(videocnv.get_duration); videocnv.close_player; ShowCanvas;
|
(Offline)
|
|
24.09.2008, 15:38
|
#12
|
AnyKey`щик
Регистрация: 31.08.2008
Сообщений: 11
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
public static void stop()
Остановка воспроизведения.
|
может это?
|
(Offline)
|
|
24.09.2008, 15:40
|
#13
|
Оператор ЭВМ
Регистрация: 04.09.2008
Сообщений: 39
Написано 4 полезных сообщений (для 5 пользователей)
|
Lib_videocnv: воспроизведение видео в режиме Canvas!
Сообщение от Вредитель
может это?
|
Пробовал уже. Не айс.
|
(Offline)
|
|
24.09.2008, 21:42
|
#14
|
Модератор
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений (для 817 пользователей)
|
Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
Сбой возникает при вызове Delay(get_duration). Похоже, функция дает неправильный результат и мидлет ждет слишком долго. В чем именно дело пока непонятно, возможно ошибка при переводе long в int попробую разобраться, но тут другая проблема - пересел на висту, не могу поставить JBuilder, а при прямой компиляции в WTK матерится, что в классе Canvas нет метода setFullScreenMode, хотя в JB компилил нормально. Может кто подскажет, какие ключи надо использовать?
P.S. Сколько весит NetBeans и где его лучше скачать? И вообще, пойдет ли он на висте?
|
(Offline)
|
|
25.09.2008, 06:07
|
#15
|
Мастер
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений (для 713 пользователей)
|
Ответ: Lib_videocnv: воспроизведение видео в режиме Canvas!
Пробовал ставить NetBeans на висту - не ставится. Тупо не может почему-то обнаружить jdk, хотя он там есть. Так что в NetBeans лучше работать под XP. Весит мобильная версия метров 70 в запакованном виде. Если всё ещё интересно - качай с www.netbeans.org
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:09.
|