2007年11月25日
Android覚え書き・音楽ファイル再生
Androidで音楽ファイルを再生してみた。すでにやった人がいるのでとても参考になった。とりあえずメモ書き。
- 音楽ファイル、動画ファイルはいずれもandroid.media.MediaPlayerを使って再生する。エミュレータにはコマンドラインオプションとして"-useaudio"を付ける必要がある。
- 再生ファイルを指定する方法が解説ページに三つ紹介されている。このうちプロジェクトフォルダの中のres/rawにファイルを入れる方法では、長いファイルを指定すると起動時にNullPointerExceptionが起こってしまう。30秒だとOK、5分だとNG。この方法はおそらく警告音や効果音のためのものだろう。エミュレータにファイルを転送する方法なら5分のファイルも再生可能。ただ、エミュレータを再起動すると転送したファイルが消えてしまうのが面倒。エミュレータからPCのハードディスクをマウントする方法はないだろうか?
- ファイルのどこまで再生したかを示す情報はandroid.media.MediaPlayerでは受け取れない。タイマーを張ってgetCurrentPosition()で取るしかない?
- MP3は再生できたが、Ogg Vorbisはダメ。サポートされているフォーマットがどこかに書かれているはずだが、見つからなかった。
- MP3のタグ情報を取得する方法は提供されていない。android.media.MediaPlayerは指定されたファイルを再生するだけ。
今のAndroidには日本語の入力や表示の仕組みもなさそうだ。Open Handset AllianceにはドコモやKDDIも入っているからきっと何か考えてくれているだろうとは思うが、日本にAndroid搭載端末が現れるのは当分先かもしれない。
追記:
エミュレータを再起動すると転送したファイルが消えてしまう、というのは誤解だった。/dataの下に置けば消えない。タイマーに関してはAndroid Developers Blogの記事が参考になりそう。
トラックバックURL
この記事へのコメント
1. Posted by s_welt 2007年11月26日 01:53
こんにちは、リンク貼っていただいてありがとうございます。
Schlechte Weltのs_weltと申します。
あの記事以来MediaPlayerは触ってないんですが、
MediaPlayerだとどこまで再生したか調べられないんですね。。
うーん、なかなかめんどくさそうです。
Android関連の情報が少なく大変ですが頑張っていきましょう!
Schlechte Weltのs_weltと申します。
あの記事以来MediaPlayerは触ってないんですが、
MediaPlayerだとどこまで再生したか調べられないんですね。。
うーん、なかなかめんどくさそうです。
Android関連の情報が少なく大変ですが頑張っていきましょう!
2. Posted by kazhik 2007年11月26日 20:50
こんにちは、s_weltさん。
s_weltさんをはじめ、早くもいろいろ作っている人が結構いるので参考になっています。今後もよろしくお願いします。
s_weltさんをはじめ、早くもいろいろ作っている人が結構いるので参考になっています。今後もよろしくお願いします。
3. Posted by 安藤恐竜 2008年02月03日 23:40
MediaPlayerの再生位置、Listnerで拾ってるコードがあったような気がする。これだっけっと思ったけど違った。思い出したらまた来ます。
http://davanum.wordpress.com/2007/12/29/android-videomusic-player-sample-from-local-disk-as-well-as-remote-urls/
MP3再生はコレも参考になります。
http://www.helloandroid.com/node/134
でも、どうもFilterクラスの挙動が怪しくて、ZaurusだとSDが読めなかったりするので色々とホゲです。
http://davanum.wordpress.com/2007/12/29/android-videomusic-player-sample-from-local-disk-as-well-as-remote-urls/
MP3再生はコレも参考になります。
http://www.helloandroid.com/node/134
でも、どうもFilterクラスの挙動が怪しくて、ZaurusだとSDが読めなかったりするので色々とホゲです。
4. Posted by kazhik 2008年02月04日 20:32
安藤恐竜さん、コメントありがとうございます。
MediaPlayer関係のAPIはまだこれからの部分が多い気がしています。もうすぐ出るらしい新しいSDKに期待しています。
MediaPlayer関係のAPIはまだこれからの部分が多い気がしています。もうすぐ出るらしい新しいSDKに期待しています。