Нет поддержки FocusControl в Nokia с использованием Java ME? - PullRequest
0 голосов
/ 30 августа 2010

Я занимаюсь разработкой приложения Java ME, в котором камера делает снимок, а затем декодирует его (используя библиотеку ZXing ). Цель - телефоны Nokia.

Мне нужно использовать фокус, чтобы получить четкое изображение, в противном случае его трудно декодировать.

Начиная с Series 40, доступны элементы управления "videocontrol" и "SnapShopControl". Я думал, что для "FocusControl" это было то же самое, но это не так.

Я обнаружил, что он почти не существует, не только для Series 40 (только некоторые телефоны), но (что более удивительно) для Series 60 и Symbian 3.

Вы можете видеть это в Поддержка API Java ME на устройствах Nokia .

Эти мобильные телефоны поддерживают JSR-234 , но для аудио и музыки, а не для камеры.

Как вы понимаете, это очень обманчиво, Nokia плохо справляется со своей работой.

Нашли ли вы какое-нибудь решение? Возможно, еще один «ручной» контроль? Боюсь, я должен начать программировать на C ++, потому что у меня не так много времени.

Ответы [ 2 ]

1 голос
/ 08 октября 2010

Решением было использование APIBridge от Nokia (расширяемый механизм доступа к функциям устройства в приложениях WRT, Flash Lite и Java).Вы можете получить доступ к программному обеспечению, установленному в телефоне для камеры, и, если оно способно использовать автофокус, вы можете использовать его, и оно возвращает полученное изображение.

См. Инструментподробности для APIBridge для дальнейших деталей.

Реализация проста (вы устанавливаете файл SIS для APIBridge в устройстве, и вы можете упаковать свое приложение иSIS файл вместе).

Вы используете следующий код:

    APIBridge  bridge = APIBridge.getInstance();
    bridge.Initialize(midlet);
    NewFileService service = (NewFileService) bridge.createService("service.newfileservice");
    Hashtable filter = new Hashtable();
    filter.put("NewFileType", "Image");
  BridgeResult  res= service.TakePhoto(filter);
0 голосов
/ 01 сентября 2010

Аппаратные средства многих телефонов просто не поддерживают фокусировку. Некоторые телефоны Sony Ericsson (например, G502 ) поддерживают FocusControl, но они не позволяют ничего делать, потому что аппаратное обеспечение не поддерживает его.

Боюсь сказать, что вы, вероятно, ничего не можете сделать с этой проблемой в Java ME.

Если телефоны поддерживают управление фокусировкой, но оно недоступно в Java ME, возможно, есть два способа его решения:

  • Позвольте пользователю использовать встроенную камеру и загрузить ее (предпочтительно последнюю фотографию) из альбома камеры.
  • Попробуйте использовать фокусировку камеры из S60 API.

Обратите внимание, что я не S60 разработчик.

...