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ファイルの取得ができます。
なかなか便利ですよね。








