2016-08-11 4 views
0

Der Media Player läuft auf dem Emulator oder realen Gerät ohne Fehler, aber wenn ich auf den Startknopf klicke startet das Medium nicht oder gibt keinen Ton. Ich habe versucht, else von PreparePlayer Methode zu entfernen und es funktioniert, aber dauert sehr lange zu öffnen.Android Media Player spielt nicht

SeekBar seekBar1; 
    System.Timers.Timer t; 

    t = new System.Timers.Timer(); 
    t.Interval = 3000; 
    t.Elapsed += new System.Timers.ElapsedEventHandler(t_Elapsed); 

    string filePath = "http://server10.mp3quran.net/ajm/128/001.mp3"; 
    PreparePlayer(filePath); 
    Button button = FindViewById<Button>(Resource.Id.bustart); 
    button.Click += delegate 
    { 

     if (!player.IsPlaying) 
     { 
      button.SetBackgroundResource(Resource.Drawable.pauseicon); 
      player.Start(); 
      t.Start(); 

     } 
     else 
     { 
      button.SetBackgroundResource(Resource.Drawable.starticonn); 
      player.Pause(); 
      t.Stop(); 

     } 

    }; 
protected MediaPlayer player; 
public void PreparePlayer(String filePath) 
{ 
    if (player == null) 
    { 
     player = new MediaPlayer(); 
    } 
    else 
    { 
     player.Reset(); 
     player.SetDataSource(filePath); 
     player.Prepare(); 

     seekBar1.Max = player.Duration; 
    } 
} 
protected void t_Elapsed(object sender, System.Timers.ElapsedEventArgs e) 
{ 
    seekBar1.Progress = player.CurrentPosition; 

} 

Antwort

0

Sie sollten Streaming-Funktionen verwenden.

String url = "http://........"; // your URL here 
MediaPlayer mediaPlayer = new MediaPlayer(); 
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
mediaPlayer.setDataSource(url); 
mediaPlayer.prepare(); // might take long! (for buffering, etc) 
mediaPlayer.start(); 

Dies ist kein FilePath. https://developer.android.com/guide/topics/media/mediaplayer.html