Androidで効果音を付ける場合
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音源を手に入れる方法が難しいというのが結論です。音源はあることはあるのですが、クオリティに難があるものが多い印象でした。
音楽の方が著作権にシビアなのが原因だと思いますが、シャッター音程度の効果音はもっとフリーであるべきではと思いました。