この記事をシェアする

Android端末のカメラシャッター音・スクショ音について

この記事をシェアする

知っている人にとっては当たり前で、知らない人は全く知らない、Android端末のシャッター音・スクショ音にまつわるお話です。

はじめに

鬱陶しいことこの上ないスマホのシャッター・スクショ音ですが、NexusやXperiaでは「SIMカードを抜くとシャッター・スクショ音を消せるようになる」というのは意外と知られていないのではないかと思います。

そこら辺の事情を備忘録としてまとめておきます。

元ネタ:AndroPlusさんのツイート

Android 4.1以前

/system/build.propに記述されている、ro.camera.sound.forcedという値で強制・非強制を設定していました。(1で強制、0で無効)

刺さっているSIMカードの種類は関係ありません。1ならどのSIMでもシャッター音が鳴りますし、0であればどのSIMでもシャッター音を消せます。

広告

Android 4.2以降

Android 4.2以降ではどこでシャッター音の強制・非強制を決めているかというと、AndroPlusさんのツイートの通り、framework-res.apk内の/res/values-mcc440に記述されているconfig_camera_sound_forcedという値で決められています。

これは「MCCが440のSIMカードが刺さっている場合に、シャッター・スクショ音を強制するかどうか」という値なわけですが、Googleが公開しているソースコードの時点でtrueに設定されており、シャッター音が強制されていることがわかります。(MCCとは通信事業者の運用地域を示す3ケタの番号で、440は日本を示しています)

そんなわけですので、このconfig_camera_sound_forcedを参照するように設計されているNexusやXperiaでは、MCCが440のSIMカード(≒日本のSIMカード)が刺さっている場合にはシャッター音が鳴りますし、SIMカードを抜けば消せるようになります。

広告

シャッター音を消すには

config_camera_sound_forcedを参照するように設計されている機種の場合、AndroPlusさん作成のXposedモジュールを使うことによってシャッター・スクショ音を消せるようになります。

こちらのXposedモジュールを使うとframework-res.apk内の/res/values-mcc440のconfig_camera_sound_forcedをtrueからfalseに変更できるそうなので、シャッター・スクショ音が消せるようになります。

あとは、普通にPlayストアでconfig_camera_sound_forcedを参照しないカメラアプリを探せば、そういったアプリではシャッター音は鳴らないはずです。(スクショ音は鳴るけど)

広告

おわりに

別に法律で義務付けられているわけでもないので、シャッター音の強制やめてくれませんかねーGoogleさん。

メモ

Android 4.2のXperiaのbuild.propにもro.camera.sound.forcedという値が残っているが、0にしても日本のSIMが刺さっている限りシャッター音は強制されたまま。