2011-08-29 12 views
6

Próbuję odtworzyć plik dźwiękowy po kliknięciu przycisku, ale mój adres URL dźwięku pochodzi z internetu np. http://www.example.com/sound.mp3. Jak mogę grać po kliknięciu przycisku, używając odtwarzacza multimedialnego.Odtwarzanie pliku dźwiękowego z Internetu po kliknięciu przycisku

Przykład: Jest to sposób, aby odtworzyć plik lokalny

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

Chcę grać ten dźwięk http://www.example.com/sound.mp3 reprezentowania R.raw.mmmm, bez pobierania ten dźwięk.

+0

Nie ściągając, masz na myśli streaming? Android nie może zrobić prawdziwego streamingu, o ile wiem. – mibollma

Odpowiedz

18

Media Player ma greate funkcję w android.You może obsługiwać wszystkie zdarzenia, które occurred.So jest to kod do odtwarzania pliku (czy lokalny lub URL online)

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

Zaakceptuj jako odpowiedź, jeśli rozwiązał problem. – Sameer

0

Jeśli chcesz grać to dźwięk lokalnie, musisz go najpierw pobrać.

Po prostu nie można "odtwarzać czegoś z Internetu", ponieważ maszyna, która odtwarza ten dźwięk, jest lokalną maszyną. Musi mieć kopię tego MP3.

Po tym czasie mogą być sposoby rozpoczęcia gry przed ukończeniem pobierania, ale i tak nastąpi pobranie.

EDIT: AndroidDeveloper, w innej odpowiedzi z tej strony, dał wam informacje na temat jak to zrobić strumieniowe (+1!). Odpowiada to powyższemu, więc wygląda na to, że jest to sposób na rozpoczęcie gry, zanim pobieranie się powiedzie, nawet jeśli pobieranie zostanie wykonane na końcu.

+0

, ale widzę, że odtwarza dźwięk z Internetu – boyyes90

Powiązane problemy