

Android 向けにカメラアプリを開発しています。

`android.hardware.Camera#takePicture(Camera.ShutterCallback shutter,
Camera.PictureCallback raw, Camera.PictureCallback jpeg)`
を呼び出して撮影したデータをコールバックで取得するところは実装したところ、デフォルトのシャッター音が再生されることを期待したのですが、なぜかシャッター音が鳴りません。

デフォルトのシャッター音を再生するために必要な Camera パラメータなどが存在するのでしょうか？

補足：

  * 念のため、 `takePicture` する前に、`Camera#enableShutterSound(true);` を呼び出して `true` が返ってきている事も確認しました。([enableShutterSound (boolean enabled) のAPI Doc](http://developer.android.com/reference/android/hardware/Camera.html#enableShutterSound\(boolean\)) を読む限り、これで正しくデフォルトのシャッター音が再生されるよう設定された筈)

  * 標準(?)のカメラアプリ、 Instagram で撮影すると、2つのアプリで機種毎に同じサウンドが再生されています。（ので、それが各端末のデフォルトのシャッター音なのだろうと推測しています）

  * `PictureCallback` 等で自前でサウンド再生する方法も考えられますが、二重になってしまうのは避けたいので気がすすみません。

環境 :

  * Nexus 7 2014(4.4.4) ... 再生されない
  * xperia Acro HD(4.0.4) ... 再生されない
  * compileSdkVersion 21, buildToolsVersion '21.1.1'


CC BY-SA 3.0
2015-01-20T02:52:42.517
4879
2015-01-20T13:12:44.410
2015-01-20T13:12:44.410
30
7572
question
android
Android : Camera#takePicture() で写真を撮影すると、シャッター音が鳴らない


<http://qiita.com/tao_s/items/13d809c12875a6a4b752> に書いてたのが効きました。

[code]

    final Camera.ShutterCallback dummyCallback = new Camera.ShutterCallback() {
        @Override public void onShutter() {}
    };
    camera.takePicture(dummyCallback, null, this);
    
[/code]

これだと音が鳴るけど、dummyCallbackがnullだと鳴らない。


CC BY-SA 3.0
2015-01-20T04:16:50.590
4884
2015-01-20T04:16:50.590
7572
4879
answer