2011-08-29 14 views
6

ボタンクリックでサウンドファイルを再生しようとしていますが、サウンドURLはインターネットの形式(例:http://www.example.com/sound.mp3)です。 Media Playerを使用してボタンをクリックしたときに、どのように再生できますか?ボタンをクリックすると、インターネットからサウンドファイルを再生します。

例:これは私がこの音http://www.example.com/sound.mp3をプレイしたいローカルファイルを再生する方法

 b.setOnClickListener(new View.OnClickListener() { 
     @Override public void onClick(View v) { 
     MediaPlayer mp = MediaPlayer.create(this, R.raw.mmmm); 
     mp.start(); 
     } 
     }); 

ですが、この音をダウンロードすることなく、R.raw.mmmmを表します。

+0

ストリーミングをダウンロードしないでください。 Androidは私が知る限り、まだ実際のストリーミングを行うことはできません。 – mibollma

答えて

18

メディア・プレーヤーこれはあなたがこれをプレイしたい場合

String url = "http://........"; // your URL here 
MediaPlayer mediaPlayer = new MediaPlayer(); 
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
mediaPlayer.setDataSource(url); 
mediaPlayer.prepareAsync(); 
//You can show progress dialog here untill it prepared to play 
mediaPlayer.setOnPreparedListener(new OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      //Now dismis progress dialog, Media palyer will start playing 
      mp.start(); 
     } 
    }); 
    mediaPlayer.setOnErrorListener(new OnErrorListener() { 
     @Override 
     public boolean onError(MediaPlayer mp, int what, int extra) { 
      // dissmiss progress bar here. It will come here when MediaPlayer 
      // is not able to play file. You can show error message to user 
      return false; 
     } 
    }); 
+2

あなたの問題を解決した場合は、それを回答として受け入れてください。 – Sameer

0

を(ローカルまたはオンラインのURLのどちらかを)ファイルを再生するためのコードですoccurred.Soすべてのイベントを処理することができますandroid.Youでgreateの機能を持っていますあなたはそれを最初にダウンロードしなければなりません。

そのサウンドを再生しているマシンがローカルマシンであるため、「インターネットから何かを再生できません」。そのMP3をコピーする必要があります。

その後、ダウンロードが完了する前に再生を開始する方法があるかもしれませんが、とにかくダウンロードがあります。

EDITAndroidDeveloperは、そのページの別の回答では、あなたのストリーミング行う方法の詳細ました(+1を!)。これは私が上で述べたことに対応しているので、ダウンロードが実際に完了する前に再生を開始する方法があるようですが、このダウンロードは最後に起こっています。

+0

しかし、私はそれがインターネットからの音を再生参照してください – boyyes90

関連する問題