androidアプリにSoundPoolで効果音をつける
androidアプリを作るなら、効果音をつけると思います。
効果音をつける際に、SoundPoolを使います。
SoundPoolの利点は以下の2つです。
- 再生時の遅延がない
- 繰り返し再生が可能
再生時の遅延がないということから、効果音に適していることが分かるかと思います。
実際の使い方はこんな感じ。
//効果音再生用 private SoundPool mySoundPool; private int mySoundId; @Override protected void onResume() { // TODO 自動生成されたメソッド・スタブ super.onResume(); //soundpoolの準備 mySoundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0); mySoundId = mySoundPool.load(getApplicationContext(), R.raw.lx_dark, 1); } //soundpoolで音を再生 private void playSound(){ AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE); int musicVol = audio.getStreamVolume(AudioManager.STREAM_MUSIC); mySoundPool.play(mySoundId, (float) musicVol, (float) musicVol, 0, 0, 1.0F); }
onResumeでSoundPoolを使う準備をします。
あとは任意の場所でplayを呼び出すだけです。
音のボリュームは音楽再生のものを使いたかったので、STREAM_MUSICとしてあります。
音楽再生用の音量調整
アプリを起動して音量の調整を行うと、普通は着信音の音量が変わるかと思います。
音楽再生用の音量調整をさせたい場合はcreate文に以下を追記します。
public void onCreate(bundle b){ super.onCreate(b); setVolumeControlStream(AudioManager.STREAM_MUSIC); }
setVolumeControlStreamでSTREAM_MUSICを指定してあげれば、音楽再生用の音量を調節することができます。
ちなみに、
STREAM_RINGが着信音、
STREAM_ALARMがアラーム音量、
他にもいくつかありますが、どれも名前ですぐに分かりますね。
テキストから音声素材を作る
簡単な音声素材を作りたいときにGoogleの翻訳ツールが使えます。
http://translate.google.com/translate_tts?tl=ja&q=おはよう
おはようとなっている部分を変更するだけでmp3のファイルが作られます。
ブラウザ上で右クリックで保存をすれば、mp3ファイルの取得ができます。
なかなか便利ですよね。