【问题标题】:How to Play MP3 file from certian position in Xamarin.Forms using CrossMediaManager如何使用 CrossMediaManager 从 Xamarin.Forms 中的特定位置播放 MP3 文件
【发布时间】:2020-07-08 19:43:50
【问题描述】:

我正在将文件下载到我的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);
   }

【问题讨论】:

    标签: xamarin.forms plugin.media.crossmedia


    【解决方案1】:

    这不能在 CrossMediaManager 中的CrossMediaManager.Current.Play 之后立即调用CrossMediaManager.Current.SeekTo

    这意味着我们最好在玩家状态为IsPlaying 之后调用SeekTo

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

    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));
        }
    } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 2011-01-30
      • 2012-04-11
      • 2014-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多