Emulatorへのファイルの転送方法

リソースファイルからは比較的容量の大きいメディアファイルは再生できないようなので、
普通の曲なんかを再生するにはAndroidエミュレータにファイルを転送しておく必要がある。


転送にはadbコマンドを使う。エミュレータが起動した状態でターミナル(Mac OS Xの場合)に次のコマンドを入力する。

% adb push <転送元> <転送先>


例えばsound.mp3というファイルをtmpフォルダの中に入れたければ、

% adb push sound.mp3 /tmp/sound.mp3

とすれば良い。


エミュレータの中身は、

% adb shell

とすれば見られるので便利。


そんでこのファイルを再生するには、

try {
MediaPlayer mp = new MediaPlayer();
mp.setDataSource("/tmp/sound.mp3");
mp.prepare();
mp.start();
} catch( Exception e ) {
}

とかでOK。楽ねー。


例えばゲームだと効果音とかの容量の小さいものはリソースファイルにして、
BGMとかの容量の大きいものはAndroidの中に入れちゃうのがいいのかも。


あとメディアファイルのストリーミング再生はまだ対応してないっぽい。


さっきMacBookを床に落として、壊れたらどうしようかと思ったけど全然平気だった。
すごいぜMac