using Xamarin.Forms; using NewPlayer.Models; namespace NewPlayer.Views { public enum PlayerStatus { Playing, Paused, Stopped, Preparing, } public partial class MediaRenderingView : View { // Creating a bindable property named "Items" of type IEnumrable which is owned by LibraryView and has default value null. public static readonly BindableProperty PlayingItemProperty = BindableProperty.Create("PlayingItem", typeof(MediaItem), typeof(MediaRenderingView), null); public MediaItem PlayingItem { get { return (MediaItem)GetValue(PlayingItemProperty); } set { SetValue(PlayingItemProperty, value); } } public string ItemPath { get { return PlayingItem?.Path; } } private PlayerStatus playerStatus; public PlayerStatus PlayerStatus { get { return playerStatus; } set { playerStatus = value; OnPropertyChanged(); } } public int CurrentPosition { get { return PlayingItem != null ? PlayingItem.Position : 0; } set { if (PlayingItem != null) { PlayingItem.Position = value; OnPropertyChanged(); } } } public MediaRenderingView() { InitializeComponent(); } public void Play() { PlayerStatus = PlayerStatus.Playing; } public void Pause() { PlayerStatus = PlayerStatus.Paused; } public void Preparing() { PlayerStatus = PlayerStatus.Preparing; } public void Stop() { PlayerStatus = PlayerStatus.Stopped; } } }