2011-10-27 11 views
1

リモートでホストされているmp3ファイルを再生したいです。私はこのリンクhttp://developer.android.com/guide/topics/media/mediaplayer.htmlに示す方法を行うと、私はエラーを取得する:MediaPlayerの準備HTTPストリーミングによるリモートURLからの再生に失敗しました

java.io.IOException: Prepare failed.: status=0x1

ウェブを検索した後、私は非常によくどちらも動作しません、このリンクhttp://blog.pocketjourney.com/2008/04/04/tutorial-custom-media-streaming-for-androids-mediaplayer/、代替を発見しました。ストリーミングでオーディオファイルをダウンロードし、一時的な.datファイルを作成します。ファイルの別のインクリメントがダウンロードされるたびに、取り込まれた新しいデータをMediaPlayerに設定するためにMediaPlayerを停止する必要があります。プロセスはオーディオを再生しますが、途中で少し休止します。十分なデータがまだダウンロードされていないため、これらの一時停止を持っても問題ありませんが、新しいデータが取得されるたびにプレーヤーを一時停止させることは好ましくありません。

私の質問です:リモートオーディオファイルを再生する別の方法はありますか?なぜこの「準備ができていません」エラーが発生するのですか?私はそれがいくつかのmp3のファイルで起こることに気づいたが、他のものでは起こらなかった。 MediaPlayerクラス(とそれを修正する方法)のための不正な形式のmp3がありますか?例:http://1cd.palco.fm/a/c/4/5/bandainovation-so-hoje.mp3。このmp3でエラーが発生しますが、他のプレーヤー(BansheeやWindows Media Playerなど)と再生することができます。事前

+0

これは良い質問です! – flopes

+1

私はかなりの時間この問題を解決しようとしてきました...少なくとも、私は何人かのmp3オーディオファイルがうまくいくので、ファイル自体に何が間違っているか教えてください。おそらく、不正な形式のmp3ヘッダーなどを修正する方法... – Alesqui

答えて

0

多くのおかげで私は、あなたがインターネットを使用するようにアプリを付与する、あなたのAndroidManifest.xmlファイルに特定の権限を追加する必要があるかもしれないと思います。

<uses-permission android:name="android.permission.INTERNET" /> 

また、あなたがデータ接続を(私は私のサムスンギャラクシーエースでそれをテストし、どの無線が有効になっていないときと同じ例外が発生します)があることを確認します。

+0

そうではありません。私はすでにこの許可を設定しています。 Android 2.3ではすべての曲がスムーズに動作しますが、一部の曲は2.1で動作しません。 – Alesqui

+1

すべての正直なところ、Android 2.2以下のものは、おそらく一貫して動作しないでしょう。 – StackOverflowed

関連する問題