Class MrpPlayerStateManager
- Namespace
- AppleTvControlLibrary.Mrp.PlayerState
- Assembly
- AppleTvControlLibrary.Mrp.dll
Manages state of all media players, dispatching MRP state-update messages onto MrpClient/MrpPlayerState instances and notifying a listener whenever state relevant to the active client/player changes.
public sealed class MrpPlayerStateManager : IMrpProtocolListener
- Inheritance
-
MrpPlayerStateManager
- Implements
- Inherited Members
Remarks
Implements IMrpProtocolListener directly and should be assigned to
Listener (or chained via a multiplexing listener), since
MrpProtocol — unlike pyatv's MessageDispatcher — exposes a single
unsolicited-message sink rather than per-type registration.
Fields
DefaultPlayerId
The identifier used by MediaRemote for the default (queue-less) player.
public const string DefaultPlayerId = "MediaRemote-DefaultPlayer"
Field Value
Properties
Client
Gets the currently active client, or null if none is active.
public MrpClient? Client { get; }
Property Value
Listener
Gets or sets the listener notified when relevant player state changes.
public IMrpPlayerStateListener? Listener { get; set; }
Property Value
Playing
Gets the player state for the active media player.
public MrpPlayerState Playing { get; }
Property Value
VolumeControlAbsolute
Gets a value indicating whether absolute volume control is available.
public bool VolumeControlAbsolute { get; }
Property Value
VolumeControlAvailable
Gets a value indicating whether the device currently reports volume control as available.
public bool VolumeControlAvailable { get; }
Property Value
VolumeControlRelative
Gets a value indicating whether relative volume control is available.
public bool VolumeControlRelative { get; }
Property Value
Methods
GetClient(NowPlayingClient)
Returns the client for a given NowPlayingClient, creating it if needed.
public MrpClient GetClient(NowPlayingClient client)
Parameters
clientNowPlayingClientThe client identity to look up.
Returns
GetPlayer(PlayerPath)
Returns the player for a given PlayerPath.
public MrpPlayerState GetPlayer(PlayerPath playerPath)
Parameters
playerPathPlayerPathThe player path to resolve.
Returns
MessageReceived(ProtocolMessage)
An unsolicited message was received from the device.
public void MessageReceived(ProtocolMessage message)
Parameters
messageProtocolMessageThe decoded message.