2015-05-19 2 views
3

Я пытался выяснить, как использовать NDK для доступа к камере на андроиде, используя свой интерфейс HAL. Я скачал все файлы, связанные с здесь: https://github.com/android/platform_hardware_libhardware/blob/master/include/hardware/camera.hДоступ к камере Android с NDK

и здесь:

https://github.com/android/platform_system_core

это, кажется, как мне удалось получить все необходимые файлы, но пока проект не будет компилироваться из-за многочисленные ошибки, начиная с проблемных make-файлов и заканчивая отсутствующими функциями, такими как:

C:/android-ndk-r10d/samples/hello-jni/jni/camera/Camera.cpp:409:55: error: 'clone_camera_metadata' was not declared in this scope 
     mSettings = clone_camera_metadata(new_settings); 

может кто-нибудь, кто управлял использовать камеру HAL пролить некоторый свет на этот вопрос

спасибо

+0

Это не предназначен для работы, как это не открытый интерфейс. Вы могли потратить огромное количество времени на разработку деталей использования частных внутренних функций, только для того, чтобы ваш код сломался на другом устройстве или даже после обновления Android на том же устройстве. –

+0

Код должен работать на выделенном устройстве, так что это не будет проблемой. –

+1

Тогда вы можете создать его как часть системы сборки AOSP, а не с помощью NDK. В противном случае вам придется адаптировать весь набор зависимостей ваших зависимостей. Или вы можете просто использовать стабильные, поддерживаемые, общедоступные API-интерфейсы на Java, как и все остальные. –

ответ

0

Я знаю 2 решения вашей проблемы:

  • Вы можете использовать OpenCV, чтобы получить текущий кадр камеры. OpenCV прекрасно подходит для Android.
  • Используйте некоторые не очень привлекательные вызовы для java.

Хотя я был бы рад видеть вас успеха в использовании только НДК код :) (может проверить, как OpenCV парням удалось заставить его работать)

Смежные вопросы