Androidでサウンドを鳴らす際は、
BGM(曲)用途ならMediaPlayer、SE(効果音)用途ならSoundPoolを使うのが簡単。
今回、SEを鳴らすためにSoundPoolを使ったところ、
音声がループ回数を1回(=ループしない)でのみ再生する指定をしたにも関わらず、
2回ループしてしまう現象が発生した。
/res/rawに入れる音声データを、
WaveフォーマットからOgg Vorbisで変換することで
2回ループして再生されることはなくなった。ヾ(・∇`)ノ゙
wavに関しては、「16bitの44KHzのモノラル」でも、
「8bitの22KHzのモノラル」でも不具合が出たので
どのフォーマットでも発生しそうな気がする。
Galaxy S(GT-I9000)で発生したため、端末の問題な気もするけど、
アプリに組み込むリソースは初めからoggで用意したほうが
トラブルしなさそうだと思った。
・・・
ちなみに、Wave→Oggの変換には以下のツールが便利。
■oggdropXPd
http://rarewares.org/index.php
Downloads > Ogg Vorbis > oggdropXPd
ツールを起動してファイルをドロップすれば、
ドラッグ元に出力される。
複数ファイルもまとめて変換できる。
変換中の魚のアニメーションが可愛い・・・
2011.5.28
NECO