# Properties

{% hint style="warning" %}
Some of these can be outdated.
{% endhint %}

#### Volume

* **Description**: Gets or sets the volume of the media player.
* **Type**: `float`
* **Usage**:

  ```csharp
  MediaPlayer.Volume = 0.5f;
  float currentVolume = MediaPlayer.Volume;
  ```

#### RepeatMode

* **Description**: Gets or sets the repeat mode of the media player.
* **Type**: `int`
* **Usage**:

  ```csharp
  MediaPlayer.RepeatMode = 1; // Example value
  int repeatMode = MediaPlayer.RepeatMode;
  ```

#### ShuffleModeEnabled

* **Description**: Gets or sets whether shuffle mode is enabled.
* **Type**: `bool`
* **Usage**:

  ```csharp
  MediaPlayer.ShuffleModeEnabled = true;
  bool isShuffleEnabled = MediaPlayer.ShuffleModeEnabled;
  ```

#### IsPlaying

* **Description**: Gets whether the media player is currently playing.
* **Type**: `bool`
* **Usage**:

  ```csharp
  bool isPlaying = MediaPlayer.IsPlaying;
  ```

#### IsLoading

* **Description**: Gets whether the media player is currently loading media.
* **Type**: `bool`
* **Usage**:

  ```csharp
  bool isLoading = MediaPlayer.IsLoading;
  ```

#### IsReady

* **Description**: Gets whether the media player is ready to play media.
* **Type**: `bool`
* **Usage**:

  ```csharp
  bool isReady = MediaPlayer.IsReady;
  ```

#### CurrentMediaItemIndex

* **Description**: Gets the index of the current media item.
* **Type**: `int`
* **Usage**:

  ```csharp
  int currentIndex = MediaPlayer.CurrentMediaItemIndex;
  ```

#### HasPreviousMediaItem

* **Description**: Checks if there is a previous media item.
* **Type**: `bool`
* **Usage**:

  ```csharp
  bool hasPrevious = MediaPlayer.HasPreviousMediaItem;
  ```

#### HasNextMediaItem

* **Description**: Checks if there is a next media item.
* **Type**: `bool`
* **Usage**:

  ```csharp
  bool hasNext = MediaPlayer.HasNextMediaItem;
  ```

#### BackgroundMode

* **Description**: Gets or sets whether the media player operates in background mode.
* **Type**: `bool`
* **Usage**:

  ```csharp
  MediaPlayer.BackgroundMode = true;
  bool backgroundMode = MediaPlayer.BackgroundMode;
  ```

#### BackgroundControls

* **Description**: Gets or sets whether background controls are enabled.
* **Type**: `bool`
* **Usage**:

  ```csharp
  MediaPlayer.BackgroundControls = true;
  bool backgroundControls = MediaPlayer.BackgroundControls;
  ```

#### LastMediaItemIndex

* **Description**: Gets the index of the last played media item.
* **Type**: `int`
* **Usage**:

  ```csharp
  int lastIndex = MediaPlayer.LastMediaItemIndex;
  ```

#### LastDuration

* **Description**: Gets the duration of the last played media item.
* **Type**: `float`
* **Usage**:

  ```csharp
  float lastDuration = MediaPlayer.LastDuration;
  ```

#### LastPosition

* **Description**: Gets the last position of the media player.
* **Type**: `float`
* **Usage**:

  ```csharp
  float lastPosition = MediaPlayer.LastPosition;
  ```

#### IsInitialized

* **Description**: Indicates whether the media player is initialized.
* **Type**: `bool`
* **Usage**:

  ```csharp
  bool isInitialized = MediaPlayer.IsInitialized;
  ```

#### IsPlaylistLoading

* **Description**: Indicates whether the playlist is currently loading.
* **Type**: `bool`
* **Usage**:

  ```csharp
  bool isLoading = MediaPlayer.IsPlaylistLoading;
  MediaPlayer.IsPlaylistLoading = true;
  ```

#### TempPlaylistIndex

* **Description**: Gets or sets the temporary playlist index.
* **Type**: `int`
* **Usage**:

  ```csharp
  int tempIndex = MediaPlayer.TempPlaylistIndex;
  MediaPlayer.TempPlaylistIndex = 1;
  ```

#### LastError

* **Description**: Gets the current error message.
* **Type**: `string`
* **Usage**:

  ```csharp
  string error = MediaPlayer.Error;
  ```

#### CurrentMediaItem

* **Description**: Gets the current media item.
* **Type**: `MediaItem`
* **Usage**:

  ```csharp
  MediaItem currentItem = MediaPlayer.CurrentMediaItem;
  ```

#### CurrentUriType

* **Description**: Gets or sets the current URI type.
* **Type**: `UriType`
* **Usage**:

  ```csharp
  UriType uriType = MediaPlayer.CurrentUriType;
  MediaPlayer.CurrentUriType = UriType.RemoteURL;
  ```

#### SeekIncrement

* **Description**: Gets or sets the seek increment value.
* **Type**: `int`
* **Usage**:

  ```csharp
  int seekIncrement = MediaPlayer.SeekIncrement;
  MediaPlayer.SeekIncrement = 10;
  ```

#### PreBufferDuration

* **Description**: Gets or sets the pre-buffer duration value.
* **Type**: `int`
* **Usage**:

  ```csharp
  int preBufferDuration = MediaPlayer.PreBufferDuration;
  MediaPlayer.PreBufferDuration = 5;
  ```

#### ListenerId

* **Description**: Gets or sets the listener ID.
* **Type**: `string`
* **Usage**:

  ```csharp
  string listenerId = MediaPlayer.ListenerId;
  MediaPlayer.ListenerId = "newListenerId";
  ```

#### BackgroundControlsEnabled

* **Description**: Gets or sets whether background controls are enabled.
* **Type**: `bool`
* **Usage**:

  ```csharp
  bool backgroundControls = MediaPlayer.BackgroundControlsEnabled;
  MediaPlayer.BackgroundControlsEnabled = true;
  ```

#### BackgroundPlayEnabled

* **Description**: Gets or sets whether background play is enabled.
* **Type**: `bool`
* **Usage**:

  ```csharp
  bool backgroundPlay = MediaPlayer.BackgroundPlayEnabled;
  MediaPlayer.BackgroundPlayEnabled = true;
  ```

#### CurrentPlaylistIndex

* **Description**: Gets or sets the current playlist index.
* **Type**: `int`
* **Usage**:

  ```csharp
  int currentIndex = MediaPlayer.CurrentPlaylistIndex;
  MediaPlayer.CurrentPlaylistIndex = 1;
  ```

#### HasNextPlaylist

* **Description**: Indicates whether there is a next playlist.
* **Type**: `bool`
* **Usage**:

  ```csharp
  bool hasNext = MediaPlayer.HasNextPlaylist;
  ```

#### HasPreviousPlaylist

* **Description**: Indicates whether there is a previous playlist.
* **Type**: `bool`
* **Usage**:

  ```csharp
  bool hasPrevious = MediaPlayer.HasPreviousPlaylist;
  ```

#### Playlists

* **Description**: Gets the collection of playlists.
* **Type**: `IReadOnlyDictionary<int, Playlist>`
* **Usage**:

  ```csharp
  var playlists = MediaPlayer.Playlists;
  ```

#### CurrentPlaylist

* **Description**: Gets the current playlist.
* **Type**: `Playlist`
* **Usage**:

  ```csharp
  Playlist currentPlaylist = MediaPlayer.CurrentPlaylist;
  ```
