現在Androidアプリ開発で行っているコースの資料として、Android Wireless Application Development 2nd edition 2009(L.Darcey&S.Conder、Addison Wesley発行)という本を使用しています。この本の第3章では、MediaPlayerクラスを使用して、メディアプレーヤーオブジェクトを開始し、以下のこのメソッドを使用してmp3ファイルをアプリにストリーミングします。
public void playMusicFromWeb() {
try {
Uri file = Uri.parse("http://downloads.bbc.co.uk/podcasts/6music/adamandjoe/adamandjoe_20111231-1430a.mp3");
mp = MediaPlayer.create(this, file);
mp.start();
}
catch (Exception e) {
Log.e(DEBUG_TAG, "Player failed", e);
}
}
幸いなことに、これはすべてAPI 8(本で使用されているもの)で問題なく機能します。ただし、このメソッドをより高いAPI、特に(書き込み時に)利用可能な最新のAPIである15で使用しようとすると、NullPointerException
スローされます。変数は文字列値を適切に保持しているように見えるので、デバッグしても賢明file
ではありませんが、機能的なmp3ストリームには変換されません。などを使っていろいろなアプローチを試しprepare(); prepareAsync(); setDataSource(); reset();
ましたが、何もうまくいかないようです。あなたは私の先生が私を助けることができると思うでしょう、しかし彼らはどうやらどちらも何をすべきかを知らないようです。私は今、このストリーミング方法は8よりも高いAPIでは廃止されているに違いないと思います。誰かがAPI15でmp3ファイルをストリーミングする方法に光を当てることができれば非常にありがたいです。