よくある実装サンプル。
mCamera.autoFocus(new AutoFocusCallback() {
@Override
public void onAutoFocus(boolean success, Camera camera) {
camera.takePicture(null, null, pictureCallback);
}
});
private Camera.PictureCallback pictureCallback = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
// save picture
}
};
takePictureの第1引数のShutterCallbackをnull で呼び出してます。4.0(ICS)以降では、nullにしているとシャッター音が鳴らなくなっているようです。
空実装のShutterCallbackを指定すると鳴るようになりました。
mCamera.autoFocus(new AutoFocusCallback() {
@Override
public void onAutoFocus(boolean success, Camera camera) {
camera.takePicture(shutterCallback, null, pictureCallback);
}
});
private Camera.PictureCallback pictureCallback = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
// save picture
}
};
private Camera.ShutterCallback shutterCallback = new Camera.ShutterCallback() {
@Override
public void onShutter() {
// NOP
}
};
GALAXY NEXUS SC-04D で試しましたが、端末依存とかあるのでしょうか。。。