2016-01-19 1 views
0

Iam essayant de construire une application Android pour jouer à la radio en ligne. Le code fonctionne correctement dans l'émulateur. mais lorsqu'il est installé dans le téléphone, il ne fonctionne pas.Stream audio ne joue pas dans le téléphone intelligent

MediaPlayer mediaPlayer = new MediaPlayer(); 
String url = "http://5293.live.streamtheworld.com:3690/JACK2_LOWAAC_SC"; 
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
mediaPlayer.setDataSource(url); 
mediaPlayer.prepare(); // might take long! (for buffering, etc) 
mediaPlayer.start(); 

Y at-il un problème dans le format de lien? J'ai essayé de jouer le même lien dans html5 son travail bien sur le bureau, mais le même site Web lorsqu'il est ouvert au téléphone, le lien ne fonctionne pas. Y a-t-il aussi des problèmes ou des composants dans html5 qui ne fonctionnent pas dans les téléphones intelligents? J'ai besoin de lire le flux en direct pas le fichier statique comme mp3. Vous pouvez prendre une forme d'URL www.listenlive.eu/uk.html et essayer de jouer. L'URL dans mon code est forme ce site seulement. télécharger le fichier VLC et l'ouvrir avec n'importe quel éditeur de texte et vous obtiendrez l'URL.

Répondre

0

utilisez mediaPlayer.prepareAsync(); au lieu de mediaPlayer.prepare(); puisque vous êtes en streaming du web et ajouter également l'autorisation pour Internet

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

également

String url = "http://5293.live.streamtheworld.com:3690/JACK2_LOWAAC_SC"; 

ne fonctionne pas pour moi à la place j'utiliser

final String url = "http://vprmix.streamguys.net/vprmix64.mp3"; 

isPlaying private boolean = false;

 public void streamAudio(String url) { 

     if (!isPLAYING) { 
      isPLAYING = true; 
      mediaPlayer = new MediaPlayer(); 
      try { 
       mediaPlayer.setDataSource(url); 
       mediaPlayer.prepareAsync(); 
       mediaPlayer.start(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
       Log.e("mediaPlayer", "prepare() failed"); 
      } 
     } else { 
      isPLAYING = false; 
      stopPlaying(); 
     } 
    } 

    private void stopPlaying() { 
     mediaPlayer.release(); 
     mediaPlayer = null; 
    } 
+0

Merci. Mais j'ai besoin de jouer le flux en direct pas le fichier statique comme mp3. Pouvez-vous s'il vous plaît prendre un formulaire d'URL [www.listenlive.eu/uk.html](http://www.listenlive.eu/uk.html) et essayer de jouer. L'URL ci-dessus est la forme de ce site seulement. télécharger le fichier VLC et l'ouvrir avec n'importe quel éditeur de texte, vous obtiendrez l'URL –