如何使用Xamarin播放暂停音频

时间:2019-01-31 12:19:52

标签: android audio xamarin.forms

我正在使用Plugin.MediaManager.Forms播放xamarin格式的音频文件。

我使用此代码播放音频

 public async void PlayAudio(string UrlPath)
    {
        var mediaFile = new MediaFile
        {
            Type = MediaFileType.Audio,
            Availability = ResourceAvailability.Remote,
            Url = UrlPath,
            MetadataExtracted = true
        };
        await CrossMediaManager.Current.Play(mediaFile);
    }

并且音频播放完美,然后我通过此代码暂停了音频。

    private async void PauseAudio(object sender, EventArgs e)
    {
      await CrossMediaManager.Current.Pause();
    }

并且我将这段代码用于播放暂停音频,但无法正常工作

    private async void PauseAudio(object sender, EventArgs e)
    {
      await CrossMediaManager.Current.PlaybackController.PlayPause();
    }

您好,我错了,如何使用 Plugin.MediaManager.Forms Packge 在xamarin表单中播放暂停音频

and i attached a file of given permission

3 个答案:

答案 0 :(得分:0)

使用:

// save the context
do {
    try myManagedObjectContext.save()
} catch {
    // handle the error
}

要恢复暂停的曲目。

答案 1 :(得分:0)

尝试一下:

播放方法:

 public void PlayAudio(string urlPath)
    {
        var mediaFile = new MediaFile
        {
            Type = MediaFileType.Audio,
            Availability = ResourceAvailability.Remote,
            Url = urlPath,
            MetadataExtracted = true
        };
        CrossMediaManager.Current.Play(mediaFile);
    }

播放和暂停Methos:

 private async void PauseAudio(object sender, EventArgs e)
    {
       var mediaPlayerStatus = CrossMediaManager.Current.Status;

            if (mediaPlayerStatus == MediaPlayerStatus.Playing)
            {
                 CrossMediaManager.Current.Pause();
            }
            else
            {
                 CrossMediaManager.Current.Play();
            }
    }

首先获取媒体播放器状态,然后播放和暂停音频。这就是我在项目中所做的。

答案 2 :(得分:0)

要暂停

Samsung s5

播放

  void PauseClicked(object sender, System.EventArgs e)
  {
      CrossMediaManager.Current.PlaybackController.Pause();
  }