0

我正在将文件下载到我的Xamarin Forms应用程序的本地存储中。我正在使用CrossMediaManager播放那些存储的本地 mp3 文件。问题是播放器没有从某个位置开始播放音频。它总是从零开始播放。

我正在使用下面的代码,但没有帮助。我也尝试将媒体文件排队并播放,但没有帮助。

if (Helper.FileExists(filePath))
   {
      var position = TimeSpan.FromSeconds(AyasAudios[AyaNumber].StartingPoint);
      Debug.WriteLine("starting point: " + AyasAudios[AyaNumber].StartingPoint + " position: " + position);
      await CrossMediaManager.Current.Play(new FileInfo(filePath));
      await CrossMediaManager.Current.SeekTo(position);
   }
4

1 回答 1

0

CrossMediaManager之后不能CrossMediaManager.Current.SeekTo立即调用。CrossMediaManager.Current.Play

这意味着我们最好SeekTo在 player 是IsPlayingstatus 之后调用。

因此可以将它们分开来调用它们,如下所示:

private async void Button_Clicked_Play(object sender, EventArgs e)
{
    CrossMediaManager.Current.Play("https://ia800806.us.archive.org/15/items/Mp3Playlist_555/AaronNeville-CrazyLove.mp3");
}

private async void Button_Clicked_SeekTo(object sender, EventArgs e)
{
    if (CrossMediaManager.Current.IsPlaying())
    {
        await CrossMediaManager.Current.SeekTo(TimeSpan.FromSeconds(60));
    }
} 
于 2020-07-09T07:23:08.867 回答