2011-12-06 21 views

答えて

0

mediaPlayerオブジェクトを使用できます。

mediaPlayer.setDataSource("Your datasource"); 
mediaPlayer.prepareAsync(); 

メソッドprepareAsyc:プレーヤを非同期で再生するように準備します。詳細については

は、以下を参照してください。このことができますhttp://developer.android.com/reference/android/media/MediaPlayer.html

希望を...

+0

@orioplons ...私は普通の演奏、一時停止、停止ボタンを使って演奏しました...うまくいきましたが、今は非同期の仕事をしようとしています。私はバックグラウンドで演奏する音楽が必要で、いつでも停止できます。 .. – user1051599

+0

おそらく、あなたは、音楽の停止を防ぐために、あなたの活動の方法(一時停止、onresume、onstopなど)を無効にする必要があります。 – oriolpons

7

さてさて、私は誰もが常にちょうどprepareAsync()を使用して、それが動作する」私に言ったことから、かなりしばらくの間、これで自分を苦労してきました。

しかし、あなたはまだそうしないとエラーが出るだろうし、何も起こりません十分にstart()にしようとする前にバッファリングされているまで待つ必要があります。

o最初あなたの音楽ストリーマークラスにOnPreparedListenerを実装させてください。これは、再生を開始する前に、十分にバッファされているかどうかを確認するために使用されます。

次に、バッファリングを開始し、リスナーを設定するには、コードのこの部分を使用します。

mediaPlayer.setDataSource(URL here); 
mediaPlayer.prepareAsync(); 
mediaPlayer.setOnPreparedListener(this); 

これで十分なバッファリングされているかどうかを確認するようにリスナーを設定しています。もう1歩進むだけです

public void onPrepared(MediaPlayer mediaplayer) { 
    // We now have buffered enough to be able to play 
    mediaPlayer.start(); 
} 

これで、エラーやそのすべてを与えることなく、曲を再生できるようになりました。

幸運を祈る!あなたが音楽を再生し、任意の時点でそれを停止することができるようにしたいという事実については


、あなたはすべての活動から音楽を止めることができることを予定している場合Serviceを使用する必要があります。インターネット上で見つかることについてのチュートリアルがいくつかあります。

関連する問題