MediaPlayer.Prepare() 在我尝试下一首曲目时被抛出
MediaPlayer.Prepare() has been thrown when I try to next track
如果我将 "prepare()" 方法替换为 "prepareasync()" 没问题,但媒体将无法播放。
如果我使用 "prepare()",则会出现错误。
请帮助我
OnCreate(....)
//Media
player = new MediaPlayer ();
player.Stop ();
public void StartMedia(string url_string)
{
Load_Data ();
seekBar.Max = player.Duration;
player.Stop ();
player.Reset ();
player.SetAudioStreamType (Stream.Music);
player.SetDataSource(url_string);
player.Prepare();
player.Start ();
imgPlayorPause.SetImageResource (Resource.Drawable.ic_pause_black_36dp);
//UpdatedTimerTask ();
UpdateProcessBar ();
}
public void NextTracks(int positon)
{
if (Isrepeat == false) {
if (positon >= mListData.Count ()) {
mPosition = 1;
} else {
mPosition++;
}
} else {
mPosition = positon;
}
StartMedia(mListData [mPosition].stream_url + "?client_id=" + clienId);
}
我尝试了一些方法,但都没有成功。
player.Prepared+= (object sender, EventArgs e) =>
{
player.Start();
};
这很好,解决了这个问题。
如果我将 "prepare()" 方法替换为 "prepareasync()" 没问题,但媒体将无法播放。
如果我使用 "prepare()",则会出现错误。 请帮助我
OnCreate(....)
//Media
player = new MediaPlayer ();
player.Stop ();
public void StartMedia(string url_string)
{
Load_Data ();
seekBar.Max = player.Duration;
player.Stop ();
player.Reset ();
player.SetAudioStreamType (Stream.Music);
player.SetDataSource(url_string);
player.Prepare();
player.Start ();
imgPlayorPause.SetImageResource (Resource.Drawable.ic_pause_black_36dp);
//UpdatedTimerTask ();
UpdateProcessBar ();
}
public void NextTracks(int positon)
{
if (Isrepeat == false) {
if (positon >= mListData.Count ()) {
mPosition = 1;
} else {
mPosition++;
}
} else {
mPosition = positon;
}
StartMedia(mListData [mPosition].stream_url + "?client_id=" + clienId);
}
我尝试了一些方法,但都没有成功。
player.Prepared+= (object sender, EventArgs e) =>
{
player.Start();
};
这很好,解决了这个问题。