mucchinのAndroid戦記

Androidのカメラのシャッター音について

スポンサーリンク

Androidのカメラのシャッター音の制御方法は?

今回は、Androidのカメラのシャッター音について、私なりに色々と調べた内容をご紹介します。
残念ですが、この記事にたどり着かれた多くの方が知りたいと思っている内容へは、踏み切れていないかもしれません…。


日本の携帯電話では、基本的に、カメラのシャッター音は強制的になるように作られています。
盗撮防止ですね。
法で定められているわけではないみたいなんですが、メーカーさんのご意向というか気配りによって、そのようになっているらしいです。
今はどうかわかりませんが、アメリカの携帯電話だと、カメラのシャッター音は、OFF設定が存在していました。
アメリカには、○○○○○みたいに、盗撮をする習慣がある人なんていないのかもしれませんね。(笑)


Androidのシャッター音のOFFに関して書かれたWeb上の記事は多いですが、ほとんどが、root権限でAndroid端末の設定をいじる、という内容でした。
私は、自分で使う事はもとより、Android Marketにアップするためのアプリを作りたいので、root権限でどうのこうのという事には興味がありません。
(ご自分のAndroid端末のシャッター音をいじりたいだけの方は、他のサイトをご覧くださいませ。)


Android Market上に、シャッター音がしないカメラアプリがあるという噂を見かけ、実際にダウンロードしてみました。
「SilentCam」というアプリです。
オートフォーカスのときに、気持ち程度ですが、小さく鈍い音が鳴る程度で、ホントにシャッター音がしませんでした。

私は、もっと色々細かい設定ができるシャッター音がしないカメラアプリを作ってやろうかと思って、カメラアプリの開発に取り掛かりました。


スポンサーリンク


細かい処理については省略しますが、カメラの撮影は、基本的には以下のメソッドを使います。
android.hardware.Camera.takePicture()
このメソッドは、3つ引数を指定します。
一つ目はShutterCallbackで、シャッター時にコールバックされるメソッドを指定します。
二つ目、三つ目はPictureCallbackで、生データ生成時、JPEGデータ生成時にコールバックされるメソッドを指定します。
※厳密に言うと、メソッドではなくてインスタンスです。

APIリファレンスや、私が読んだ書籍によりますと、一つ目の引数であるShutterCallbackで、通常はシャッター音の鳴動処理を入れるそうです。
という事は、この処理を実装して、敢えて何も鳴らさなければ、シャッター音は鳴らないだろう、と思って試しに実装して、Xperiaで動作させてみました。
すると、「カシャリ」というシャッター音が、見事に鳴り響きました…。

じゃあ、今度はShutterCallbackを、ちゃんと音が鳴るように実装するとどうなるのか?
同じ事をやっている方のサイトに書かれてましたが、その音と、元々の音と両方が鳴ったそうです。
という事から、Xperia以外はわかりませんが、CameraクラスのtakePicture()は、コールされるとシャッター音が鳴るように作られていると推測します。

というわけでして、普通のやり方では、Androidのカメラのシャッター音の制御は不可能と言えるかと思います。
APIリファレンスにも、シャッター音の制御が出来そうなパラメータもメソッドもありません。


じゃあ、既存のシャッター音無しのAndroidアプリは、どうやって作ったのか!?
めちゃくちゃ気になりました。
APIリファレンスには掲載されていない裏APIでもあるのか??

「ToyCam」という別のアプリですが、おそらく開発者さんらしいWebサイトがありまして、そこに気になる記述が書かれていました。
仕組みは、カメラのプレビュー画像を保存している、と。
なるほど!そういう事か!
いやぁ、すごい事を考えますよね。
SilentCamも、きっと同じような実装なんだと思われます。

なんで動画は撮れないの?って思っていたんですが、そういう理由ならうなずけます。


というわけで、私もチャレンジしてみようかと思いました。
しかし、どうも、一筋縄では行かないようです・・・。
この処理については、なんとか頑張って実現させて、またご紹介できればいいなと思ってます。。。
というわけでして、今回の記事は、皆さんの知りたいところまで説明出来てないかもしれません!!
すみません!実現できたら、記事にしたいと思います。
Androidアプリのカメラのプレビュー画像の取得方法


スポンサーリンク

URL :
TRACKBACK URL :

Comments & Trackbacks

  • Comments ( 1 )
  • Trackbacks ( 1 )
  1. アメリカで購入したSIMフリー Xperia ですが、日本のSIMを入れるとシャッターオフにできなくなります。

Leave a Reply

*
* (公開されません)

*

*

Return Top