Attributes

struct Attributes

Attributes for the MediaPlaybackTrait.

  • Returns a Boolean value indicating whether two values are equal.

    Equality is the inverse of inequality. For any values a and b, a == b implies that a != b is false.

    Declaration

    Swift

    static func == (lhs: Matter.MediaPlaybackTrait.Attributes, rhs: Matter.MediaPlaybackTrait.Attributes) -> Bool

    Parameters

    lhs

    A value to compare.

    rhs

    Another value to compare.

  • A list of client-generated commands which are supported by this cluster server instance.

    Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var acceptedCommandList: [UInt32]? { get }
  • Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var activeAudioTrack: Matter.MediaPlaybackTrait.TrackStruct? { get }
  • Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var activeTextTrack: Matter.MediaPlaybackTrait.TrackStruct? { get }
  • A list of the attribute IDs of the attributes supported by the cluster instance. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var attributeList: [UInt32]? { get }
  • Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var availableAudioTracks: [Matter.MediaPlaybackTrait.TrackStruct]? { get }
  • Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var availableTextTracks: [Matter.MediaPlaybackTrait.TrackStruct]? { get }
  • The revision of the server cluster specification supported by the cluster instance. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var clusterRevision: UInt16? { get }
  • The current playback state of media. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var currentState: Matter.MediaPlaybackTrait.PlaybackStateEnum? { get }
  • The duration, in milliseconds, of the media currently being played back. If no media is currently being played, this is null. Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var duration: UInt64? { get }
  • Writes this object to the given TraitEncoder. Throws HomeError.encodingFailed if the data could not be encoded.

    Declaration

    Swift

    func encode(with encoder: TraitEncoder) throws
  • Whether the server supports zero or more optional cluster features. A cluster feature is a set of cluster elements that are mandatory or optional for a defined feature of the cluster. If a cluster feature is supported by the cluster instance, then the corresponding bit is set to 1, otherwise the bit is set to 0 (zero). Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var featureMap: Matter.MediaPlaybackTrait.Feature? { get }
  • A list of server-generated commands (server to client) which are supported by this cluster server instance. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var generatedCommandList: [UInt32]? { get }
  • Hashes the essential components of this value by feeding them into the given hasher.

    Implement this method to conform to the Hashable protocol. The components used for hashing must be the same as the components compared in your type’s == operator implementation. Call hasher.combine(_:) with each of these components.

    Important

    In your implementation of hash(into:), don’t call finalize() on the hasher instance provided, or replace it with a different instance. Doing so may become a compile-time error in the future.

    Declaration

    Swift

    func hash(into hasher: inout Hasher)
  • The trait identifier.

    Declaration

    Swift

    static var identifier: String { get }
  • The speed at which the current media is being played. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var playbackSpeed: Float32? { get }
  • The position of playback as of the specified time. Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var sampledPosition: Matter.MediaPlaybackTrait.PlaybackPositionStruct? { get }
  • The furthest forward valid position to which a client may seek, in milliseconds, relative to the start of the media. Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var seekRangeEnd: UInt64? { get }
  • The earliest valid position to which a client may seek, in milliseconds, relative to the start of the media. Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var seekRangeStart: UInt64? { get }
  • The start time of the media, such as a livestream event, in UTC (ISO-8601) format. This is null when the start time doesn’t apply to the current media, such as in the case of prerecorded material. Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var startTime: UInt64? { get }