如何在 Xamarin.Forms 项目中使用 MediaManager 插件和播放和暂停图标

How to use MediaManager plugin and play and pause icon in Xamarin.Forms project

更新:

播放不错,但播放完后不显示播放按钮。我试过我不能很好地做到这一点。也许我加了别的东西。

如何在玩家结束播放时显示播放按钮?

HomePage.xaml

                     <Button ImageSource="{Binding PlayIcon}"
                            Command="{Binding PlayCommand}"
                            HorizontalOptions="End"
                            VerticalOptions="End"/>

HomePage.xaml.cs

        public HomePage()
        {
            InitializeComponent();

            isPlaying = true;
        }

        private bool isPlaying;
        public bool IsPlaying
        {
            get { return isPlaying; }
            set
            {
                isPlaying = value;
                OnPropertyChanged(nameof(PlayIcon));
            }
        }

        public string PlayIcon { get => isPlaying ? "play.png" : "pause.png"; }

        public ICommand PlayCommand => new Command(Play);

        private async void Play()
        {
            if (isPlaying)
            {
                await CrossMediaManager.Current.Play("file:///android_asset/running.mp3");
                IsPlaying = true; ;
            }
            else
            {
                await CrossMediaManager.Current.Pause();
                IsPlaying = false; ;
            }
        }

感谢您的贡献。

要播放资产,请使用此语法

private async void PlayButtonClicked(object sender, EventArgs e)
    {

        // update the button's image
        ((Button)sender).ImageSource = ImageSource.FromFile("pause.png");

        wait CrossMediaManager.Current.Play("file:///android_asset/long-test.mp3");

    }

参考:https://github.com/Baseflow/XamarinMediaManager/issues/840

docs 包含控件支持的事件列表,包括一个 MediaItemFinished 事件