CompleteInstance: MutableCluster<{
    attributes: {
        acceptedCommandList: Attribute<.[], never>;
        activeAudioTrack: Attribute<TypeFromFields | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                audioTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        activeTextTrack: Attribute<TypeFromFields | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                textTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        attributeList: Attribute<.[], never>;
        availableAudioTracks: Attribute<TypeFromFields[] | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                audioTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        availableTextTracks: Attribute<TypeFromFields[] | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                textTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        clusterRevision: Attribute<number, never>;
        currentState: Attribute<MediaPlayback.PlaybackState, any>;
        duration: Attribute<number | bigint | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        featureMap: Attribute<TypeFromPartialBitSchema, never>;
        generatedCommandList: Attribute<.[], never>;
        playbackSpeed: Attribute<number, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        sampledPosition: Attribute<TypeFromFields | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        seekRangeEnd: Attribute<number | bigint | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        seekRangeStart: Attribute<number | bigint | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        startTime: Attribute<number | bigint | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
    };
    commands: {
        activateAudioTrack: Command<TypeFromFields, void, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                audioTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        activateTextTrack: Command<TypeFromFields, void, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                textTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        deactivateTextTrack: Command<void, void, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                textTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        fastForward: Command<TypeFromFields, TypeFromFields, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                variableSpeed: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        next: OptionalCommand<void, TypeFromFields, any>;
        pause: Command<void, TypeFromFields, any>;
        play: Command<void, TypeFromFields, any>;
        previous: OptionalCommand<void, TypeFromFields, any>;
        rewind: Command<TypeFromFields, TypeFromFields, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                variableSpeed: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        seek: Command<TypeFromFields, TypeFromFields, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        skipBackward: OptionalCommand<TypeFromFields, TypeFromFields, any>;
        skipForward: OptionalCommand<TypeFromFields, TypeFromFields, any>;
        startOver: OptionalCommand<void, TypeFromFields, any>;
        stop: Command<void, TypeFromFields, any>;
    };
    events: {
        stateChanged: OptionalEvent<TypeFromFields, any>;
    };
    features: {
        advancedSeek: BitFlag;
        audioAdvance: BitFlag;
        audioTracks: BitFlag;
        textTracks: BitFlag;
        variableSpeed: BitFlag;
    };
    id: @matter/general;
    name: "MediaPlayback";
    revision: 2;
}, []>

Type declaration

  • Readonlyattributes: {
        acceptedCommandList: Attribute<.[], never>;
        activeAudioTrack: Attribute<TypeFromFields | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                audioTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        activeTextTrack: Attribute<TypeFromFields | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                textTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        attributeList: Attribute<.[], never>;
        availableAudioTracks: Attribute<TypeFromFields[] | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                audioTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        availableTextTracks: Attribute<TypeFromFields[] | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                textTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        clusterRevision: Attribute<number, never>;
        currentState: Attribute<MediaPlayback.PlaybackState, any>;
        duration: Attribute<number | bigint | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        featureMap: Attribute<TypeFromPartialBitSchema, never>;
        generatedCommandList: Attribute<.[], never>;
        playbackSpeed: Attribute<number, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        sampledPosition: Attribute<TypeFromFields | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        seekRangeEnd: Attribute<number | bigint | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        seekRangeStart: Attribute<number | bigint | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        startTime: Attribute<number | bigint | null, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
    }
    • ReadonlyacceptedCommandList: Attribute<.[], never>
    • ReadonlyactiveAudioTrack: Attribute<TypeFromFields | null, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              audioTracks: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • ReadonlyactiveTextTrack: Attribute<TypeFromFields | null, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              textTracks: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • ReadonlyattributeList: Attribute<.[], never>
    • ReadonlyavailableAudioTracks: Attribute<TypeFromFields[] | null, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              audioTracks: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • ReadonlyavailableTextTracks: Attribute<TypeFromFields[] | null, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              textTracks: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • ReadonlyclusterRevision: Attribute<number, never>
    • ReadonlycurrentState: Attribute<MediaPlayback.PlaybackState, any>
    • Readonlyduration: Attribute<number | bigint | null, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              advancedSeek: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • ReadonlyfeatureMap: Attribute<TypeFromPartialBitSchema, never>
    • ReadonlygeneratedCommandList: Attribute<.[], never>
    • ReadonlyplaybackSpeed: Attribute<number, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              advancedSeek: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • ReadonlysampledPosition: Attribute<TypeFromFields | null, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              advancedSeek: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • ReadonlyseekRangeEnd: Attribute<number | bigint | null, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              advancedSeek: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • ReadonlyseekRangeStart: Attribute<number | bigint | null, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              advancedSeek: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • ReadonlystartTime: Attribute<number | bigint | null, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              advancedSeek: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
  • Readonlycommands: {
        activateAudioTrack: Command<TypeFromFields, void, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                audioTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        activateTextTrack: Command<TypeFromFields, void, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                textTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        deactivateTextTrack: Command<void, void, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                textTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        fastForward: Command<TypeFromFields, TypeFromFields, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                variableSpeed: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        next: OptionalCommand<void, TypeFromFields, any>;
        pause: Command<void, TypeFromFields, any>;
        play: Command<void, TypeFromFields, any>;
        previous: OptionalCommand<void, TypeFromFields, any>;
        rewind: Command<TypeFromFields, TypeFromFields, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                variableSpeed: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        seek: Command<TypeFromFields, TypeFromFields, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList;
        };
        skipBackward: OptionalCommand<TypeFromFields, TypeFromFields, any>;
        skipForward: OptionalCommand<TypeFromFields, TypeFromFields, any>;
        startOver: OptionalCommand<void, TypeFromFields, any>;
        stop: Command<void, TypeFromFields, any>;
    }
    • ReadonlyactivateAudioTrack: Command<TypeFromFields, void, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              audioTracks: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • ReadonlyactivateTextTrack: Command<TypeFromFields, void, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              textTracks: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • ReadonlydeactivateTextTrack: Command<void, void, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              textTracks: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • ReadonlyfastForward: Command<TypeFromFields, TypeFromFields, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              variableSpeed: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • Readonlynext: OptionalCommand<void, TypeFromFields, any>

      Upon receipt, this shall cause the handler to be invoked for "Next". User experience is context- specific. This will often Go forward to the next media playback item.

      MatterSpecification.v13.Cluster § 6.10.7.6

    • Readonlypause: Command<void, TypeFromFields, any>

      Upon receipt, this shall pause playback of the media.

      MatterSpecification.v13.Cluster § 6.10.7.2

    • Readonlyplay: Command<void, TypeFromFields, any>

      Upon receipt, this shall play media. If content is currently in a FastForward or Rewind state. Play shall return media to normal playback speed.

      MatterSpecification.v13.Cluster § 6.10.7.1

    • Readonlyprevious: OptionalCommand<void, TypeFromFields, any>

      Upon receipt, this shall cause the handler to be invoked for "Previous". User experience is context-specific. This will often Go back to the previous media playback item.

      MatterSpecification.v13.Cluster § 6.10.7.5

    • Readonlyrewind: Command<TypeFromFields, TypeFromFields, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              variableSpeed: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • Readonlyseek: Command<TypeFromFields, TypeFromFields, any> & {
          isConditional: true;
          mandatoryIf: [] | [{
              advancedSeek: boolean;
          }];
          optional: true;
          optionalIf: [] | ConditionalFeatureList;
      }
    • ReadonlyskipBackward: OptionalCommand<TypeFromFields, TypeFromFields, any>

      Upon receipt, this shall Skip backward in the media by the given number of milliseconds.

      MatterSpecification.v13.Cluster § 6.10.7.10

    • ReadonlyskipForward: OptionalCommand<TypeFromFields, TypeFromFields, any>

      Upon receipt, this shall Skip forward in the media by the given number of milliseconds.

      MatterSpecification.v13.Cluster § 6.10.7.9

    • ReadonlystartOver: OptionalCommand<void, TypeFromFields, any>

      Upon receipt, this shall Start Over with the current media playback item.

      MatterSpecification.v13.Cluster § 6.10.7.4

    • Readonlystop: Command<void, TypeFromFields, any>

      Upon receipt, this shall stop playback of the media. User-visible outcome is context-specific. This may navigate the user back to the location from where the media was originally launched.

      MatterSpecification.v13.Cluster § 6.10.7.3

  • Readonlyevents: {
        stateChanged: OptionalEvent<TypeFromFields, any>;
    }
    • ReadonlystateChanged: OptionalEvent<TypeFromFields, any>

      If supported, this event shall be generated when there is a change in any of the supported attributes of the Media Playback cluster.

      MatterSpecification.v13.Cluster § 6.10.8.1

  • Readonlyfeatures: {
        advancedSeek: BitFlag;
        audioAdvance: BitFlag;
        audioTracks: BitFlag;
        textTracks: BitFlag;
        variableSpeed: BitFlag;
    }
    • ReadonlyadvancedSeek: BitFlag

      AdvancedSeek

      This feature provides access to the time offset location within current playback media and allows for jumping to a specific location using time offsets. This enables clients to implement more advanced media seeking behavior in their user interface, for instance a "seek bar".

      MatterSpecification.v13.Cluster § 6.10.4.1

    • ReadonlyaudioAdvance: BitFlag

      AudioAdvance

      This feature is for a device or app that supports playing audio during fast and slow advance and rewind (e.g., while playback speed is not 1). A device that supports this feature may only support playing audio during certain speeds.

      A cluster implementing AA shall implement AS.

      MatterSpecification.v13.Cluster § 6.10.4.5

    • ReadonlyaudioTracks: BitFlag

      AudioTracks

      This feature is for a device or app that supports Audio Tracks.

      MatterSpecification.v13.Cluster § 6.10.4.4

    • ReadonlytextTracks: BitFlag

      TextTracks

      This feature is for a device or app that supports Text Tracks.

      MatterSpecification.v13.Cluster § 6.10.4.3

    • ReadonlyvariableSpeed: BitFlag

      VariableSpeed

      This feature is for a device which supports variable speed playback on media that supports it.

      MatterSpecification.v13.Cluster § 6.10.4.2

  • Readonlyid: @matter/general
  • Readonlyname: "MediaPlayback"
  • Readonlyrevision: 2