音(効果音)の鳴らし方を調査

ブログ引越したので以下に転載します(自記事

こっちの方が新しい(・∀・)→SoundPoolとMediaPlayerについてのまとめ

とりあえず「android 音」とかでぐぐる

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のエミュレーターで音を出す方法


Android SDK に入ってる sample JetBoy を調査

とりあえず、エミュレーターで音が鳴る事を確認。

ゲーム要素が入りまくってるのでソース的には訳わからないが、

JetPlayer.getJetPlayer() というキーワード発見。


android getJetPlayer」とかでぐぐる

良さそうなサンプル発見

AndroidでmidiとかJetCreatorとかで鍵盤アプリとか作成

←今ここ

androidで音再生

Xperiaでの効果音再生

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形式にしたほうが無難。

XperiaのSoundPoolについて

mp3からOgg形式に変換するのは以下のフリーソフトを使用。

koyote soft

Ogg形式にしたらXperia端末では今のところ問題なし。


最終的に

BGMはMediaplayer

効果音(SE)は SoundPool

この共存がスタンダードなのかなと。

※jetplayerはMIDIへの変換が必要なので論外?