Reputation: 6335
Is there a standarized API for taking pictures using Android NDK?
Or is it really necessary to go through Java for that?
Upvotes: 14
Views: 22500
Reputation: 3053
Post Android 7 or API version 24 : Camera 2
APIs are possible not just in Java space but in the native(NDK/C++
) space too. This article give you all the details with code.
Upvotes: 1
Reputation: 742
In Android 7 (API 24) Google has added support for native camera access (Camera2 API).
In ndk-r12:
Headers:
$NDK_ROOT/android-24/$ARCH/usr/include/camera/Ndk*.h
$NDK_ROOT/android-24/$ARCH/usr/include/media/Image*.h
Libs:
libcamera2ndk.so
libmediandk.so
Upvotes: 11
Reputation: 13485
1) There was an access to Camera.h
in older releases like Froyo, 2.3.3.
Now, I see a Camera.h
in KitKat, 4.4.4. It changed completely.
This is an unofficial API, so it's subject to change. Be ready to code and deploy different versions for different Android releases.
2) There is a Camera
component in OpenMAX. People managed to create an OpenMAX recorder for Raspbery Pi. I yet have to find a working solution for Android.
These two questions are unanswered:
and I'm going to try OpenMAX.
3) We ran into an Android device where video4linux2 works (one can access /dev/video0
).
Upvotes: 5
Reputation: 2077
Yes. It is necessary to go through Java. Since NDK access will be specific to particular hardware.
Inspite there are few realizations through NDK.
Check the following links for relevant details.
http://osdir.com/ml/android-ndk/2010-10/msg00518.html
Upvotes: 14