Захват изображений в приложении Blackberry с помощью VideoControl работает только на эмуляторе, а не на устройстве

Это только часть кода, потому что другие его части разбросаны, но на симуляторе для кривой ежевики это добавляет VideoControl к менеджеру и отлично отображается с другой кнопкой, которая фактически захватывает изображение. Однако, когда я запускаю это на реальной кривой Blackberry (версия 6, я думаю), это не отображается на экране.

try 
     {
         _p = javax.microedition.media.Manager.createPlayer("capture://video?encoding=jpeg&width=1024&height=768");
         _p.realize();
         _videoControl = (VideoControl) _p.getControl("VideoControl");

         if (_videoControl != null)
         {
             videoField = (Field) _videoControl.initDisplayMode (VideoControl.USE_GUI_PRIMITIVE, "net.rim.device.api.ui.Field");
          //   _videoControl.setDisplayFullScreen(true);
             _videoControl.setVisible(true);
            // EnhancedFocusControl efc = (EnhancedFocusControl)p.getControl("net.rim.device.api.amms.control.camera.EnhancedFocusControl");
            // efc.startAutoFocus();
             _p.start();


             if(videoField != null)
             {
                 add(videoField);
             }
         } 
     }
     catch(Exception e)
     {
         Dialog.alert(e.toString());
     }

person Paul    schedule 29.08.2011    source источник


Ответы (2)


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

person Vit Khudenko    schedule 30.08.2011
comment
Можете ли вы подсказать мне, как использовать собственное приложение камеры? .. я новичок в BB. - person Kinjal Shah; 27.02.2014
comment
@KinjalShah: Это было много лет назад, поэтому я не помню подробностей. Хотя я могу сказать, что нужно использовать FileSystemJournalListener и Invoke API. В качестве отправной точки (я только что погуглил) посмотрите здесь: supportforums.blackberry.com/t5/Web-and-WebWorks-Development/ - person Vit Khudenko; 27.02.2014

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

Слово предупреждения, от OS4.5 до 6 многие вещи устарели, поэтому убедитесь, что у вас есть правильные разрешения для моделей, с которыми вы работаете. например Я думаю, что ApplicationPermissions.PERMISSION_SCREEN_CAPTURE устарел в 4.6.

person Ray Vahey    schedule 30.08.2011