2016-04-29 8 views
0
protected override void OnCreate (Bundle savedInstanceState) 
    { 
     base.OnCreate (savedInstanceState); 
     player = new MediaPlayer(); 
//Next item event 
     imgNext.Click+= delegate(object sender, EventArgs e) { 
      NextTracks(mPosition); 
     }; 

}player.SetDataSource Medien spielen beide Tracks gleichzeitig?

public void StartMedia (string URL_STRING) {

 Load_Data(); 
     seekBar.Progress = 0; 
     seekBar.Max = 100; 
     //player.Reset(); 
     player.SetAudioStreamType (Stream.Music); 
     player.SetDataSource(url_string); 
     player.Prepare(); 
     player.Start(); 
     imgPlayorPause.SetImageResource (Resource.Drawable.ic_pause_black_36dp); 
     //UpdatedTimerTask(); 



    } 
public void NextTracks(int positon) 
    { 
     player = null; 
     if (positon >= mListData.Count()) { 
      mPosition = 0; 
     } else { 
      mPosition++; 

     } 

     StartMedia(mListData [mPosition].stream_url + "?client_id=" + clienId); 
    } 

spielen Medien sowohl alte Spur und neue Spur zur gleichen Zeit. Wie man es als null setzt.

Aktualisiert Add Code

+0

Aktualisiert nexttracks Methode –

+0

Wenn NextTracks Methode aufgerufen? –

+0

Aktualisiert mehr Code –

Antwort

1

Nachdem Sie Ihre Klasse deklarieren, fügen:

MediaPlayer player; 

(es bedeutet, dass es außerhalb jeder Methode sein, aber in der Klasse). Dann innen OnCreate:

player=new MediaPlayer();

Schließlich, bevor Sie player.Reset() nennen, fügen Sie einen Aufruf an player.Stop();

+0

Ihr Weg wird Fehler –

+0

Können Sie uns sagen, wo ist Ihr ursprünglicher Code gefeuert? Welchen Fehler erhalten Sie? –

+0

Objektreferenz nicht auf eine Instanz eines Objekts gesetzt (Null-Ausnahme) –

Verwandte Themen