音(効果音)の鳴らし方を調査
ブログ引越したので以下に転載します(自記事)
こっちの方が新しい(・∀・)→SoundPoolとMediaPlayerについてのまとめ
101 :デフォルトの名無しさん:2010/06/02(水) 10:50:28
>>97
技術的って何処を指してるのかにもよるけど
オープンなのが大きいんじゃない?
主言語はJavaで行けるし。
後、自分はObjective-Cにトラウマが。。。
>>100
効果音ならSoundPoolの方が向いてる。
こっちだと途中でも別の音を再生できる。
(MediaPlayerも複数インスタンス作れば出来なくもないけど)
ちなみにSoundPoolでも途中で止めたりすると「プツ」って
音は出ちゃうから効果音は最後まで鳴らした方がよさげ。
あとSoundPoolの場合,BGMとか長いファイル読み込もうと
するとエラー吐くのでMediaPlayerとかJetPlayer辺りと
使い分けが必要。
。。。自分も音周りを試行錯誤してるから正確ではないです。
詳しい人がいれば補足してください。
-mediaplayer
-soundpool
-jetplayer
3つほど音を鳴らす方法があるみたい。
とりあえずエミュレーターで音が鳴るようにする
Androidの起動オプションに「--useaudio」を入れる(下記参照)
Android SDK に入ってる sample JetBoy を調査
とりあえず、エミュレーターで音が鳴る事を確認。
ゲーム要素が入りまくってるのでソース的には訳わからないが、
JetPlayer.getJetPlayer() というキーワード発見。
「android getJetPlayer」とかでぐぐる
良さそうなサンプル発見
AndroidでmidiとかJetCreatorとかで鍵盤アプリとか作成
←今ここ
SoundPoolかjetplayerだと思うんだけど。
SoundPool
Load the sound from the specified APK resource.
Note that the extension is dropped.
For example, if you want to load a sound from
the raw resource file "explosion.mp3",
you would specify "R.raw.explosion" as the
resource ID. Note that this means you cannot have
both an "explosion.wav" and an "explosion.mp3"
in the res/raw directory.
SoundPoolはmp3で行けるっぽい。
Jetplayerはmidファイルをjetファイルに書き出して使用するみたい。
SoundPoolでmp3行けなかった。
原因は分からないけど以下を読む限りXperia対応ならOgg形式にしたほうが無難。
mp3からOgg形式に変換するのは以下のフリーソフトを使用。
最終的に
BGMはMediaplayer
効果音(SE)は SoundPool
この共存がスタンダードなのかなと。
※jetplayerはMIDIへの変換が必要なので論外?