Using Camera in the Android emulator
I wish to simulate camera in the android emulator using the webcam. Basically I need to only take photos with the camera in the emulator (live preview is not needed i.e if it makes 开发者_如何学Pythonit any easier)
I followed the tutorial here which is the only one I could find that was close to my requirements
But many of the libraries used in that tutorial(like android.hardware.CameraDevice) are not available in present sdk and are replaced by new libraries(like android.hardware.camera).
Any help on how to do this in the present sdk(2.1 or 2.2) would be much appreciated.
In your AVD advanced settings, you should be able to set front and back cameras to Webcam()
or Emulated
.
Update: ICS emulator supports camera.
Some elaboration, in the hope of clarifying what has already been said:
As stated above, Webcams are supported natively in the current SDK, but only on recent android versions (4.0 and higher)
Webcam detection is automatic where present. In 4.0.3, the camera defaults to the front-facing camera so a lot of applications (especially pre-2.3 applications, which can only fetch the default camera, i.e. the back-facing one) will still show you the old checkerbox-with-moving-square stand-in instead.
I think some more info is available in the following post: Camera on Android Eclipse emulator:
Or at least, that's the most information I've been able to find--aside from the brief, uninformative statements in the release notes for the SDK tools.
If you're working with command-line tools or just want to edit your config.ini
file directly, you have options:
Option 1: use command-line options
emulator -help | grep cam # => shows items such as -camera-back
emulator -help-camera-back # => show supported values for this option
emulator -avd $MY_AVD -camera-back virtualscene # Example invocation
If you want to use your actual camera instead of a mock, the option's value will be webcam${N}
. How do you know what ${N}
should be? emulator -webcam-list
lists and describes the cameras available on your computer.
Option 2: edit the config file
Using the legal values we learnt above, edit the file ~/.android/avd/${MY_AVD}/config.ini
and add a line (I'll use virtualscene
as my value of choice):
hw.camera.back = virtualscene
Update of @param's answer.
ICS emulator supports camera.
I found Simple Android Photo Capture, which supports webcam in android emulator.
Does not seem like it, but android recognises a webcam as a device. Every time I run the emulator my webcam's active light comes on.
There is an updated version of Tom Gibara's tutorial. You can change the Webcam Broadcaster to work with JMyron instead of the old JMF.
The new emulator (sdk r15) manage webcams ; but it has some problems with integrated webcams (at least with mine's ^^)
The newest camera2 apis work fine w/ an emulator that has camera support enabled.
Example for using the newer API:
https://github.com/googlesamples/android-Camera2Basic/blob/master/Application/src/main/java/com/example/android/camera2basic/AutoFitTextureView.java
Just in case you just need to show a picture in response to a camera request, there is image-to-camera.
Just download, build, install, copy an image of your choice to the device, and you can select it via the app, which is an alternative to the built-in camera.
精彩评论