Androidで効果音を付ける場合

2018年6月6日

AR-J-GPSでシャッター音を付ける作業をしたのですが、思ってもみない問題に遭遇しました。Androidアプリを作成する時には注意してください。

1.効果音はSoundPoolを使う。

Androidアプリで効果音を作成する場合は、SoundPoolクラスを使います。SoundPool自体は使い方が難しくありません。WAVファイルを用意すれば、簡単に効果音を出すことができます。

今回はシャッター音を出すプログラムなので、シャッター音のフリー音源を探しました。しかし、フリーの音源が少ない上に、MP3で用意されたものばかりなのです。WAVファイルは少ない上に有料のものばかりです。シャッター音以外の音も探しましたが、しっくりしない音ばかりでした。

2.MediaActionSoundを使う

そこで、AndroidのOSに用意されているシャッター音を使うことにしました。Android内部の音を使うクラスがMediaActionSoundです。

使い方を簡単に紹介します。

2-1.メンバ定義

MediaActionSound mShutterSound ;

2-2.クラスのインスタンスの作成

mShutterSound = new MediaActionSound();
mShutterSound.load(MediaActionSound.SHUTTER_CLICK);

2-3.シャッター音を鳴らす

mShutterSound.play(MediaActionSound.SHUTTER_CLICK);

2-4.インスタンスの開放

mShutterSound.release();

3.まとめ

シャッター音を出すロジック自体は難しくないですが、WAV音源を手に入れる方法が難しいというのが結論です。音源はあることはあるのですが、クオリティに難があるものが多い印象でした。

音楽の方が著作権にシビアなのが原因だと思いますが、シャッター音程度の効果音はもっとフリーであるべきではと思いました。