This cluster supports all MediaPlayback features. It may support illegal feature combinations.

If you use this cluster you must manually specify which features are active and ensure the set of active features is legal per the Matter specification.

interface Complete {
    attributes: Merge<{
        acceptedCommandList: Attribute<CommandId[], never>;
        activeAudioTrack: Attribute<null | TypeFromFields<{
            id: FieldType<string>;
            trackAttributes: FieldType<TypeFromFields<{
                characteristics: OptionalFieldType<(...)>;
                displayName: OptionalFieldType<(...)>;
                languageCode: FieldType<(...)>;
            }>>;
        }>, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                audioTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        activeTextTrack: Attribute<null | TypeFromFields<{
            id: FieldType<string>;
            trackAttributes: FieldType<TypeFromFields<{
                characteristics: OptionalFieldType<(...)>;
                displayName: OptionalFieldType<(...)>;
                languageCode: FieldType<(...)>;
            }>>;
        }>, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                textTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        attributeList: Attribute<AttributeId[], never>;
        availableAudioTracks: Attribute<null | TypeFromFields<{
            id: FieldType<string>;
            trackAttributes: FieldType<TypeFromFields<{
                characteristics: ...;
                displayName: ...;
                languageCode: ...;
            }>>;
        }>[], any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                audioTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        availableTextTracks: Attribute<null | TypeFromFields<{
            id: FieldType<string>;
            trackAttributes: FieldType<TypeFromFields<{
                characteristics: ...;
                displayName: ...;
                languageCode: ...;
            }>>;
        }>[], any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                textTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        clusterRevision: Attribute<number, never>;
        currentState: Attribute<MediaPlayback.PlaybackState, any>;
        duration: Attribute<null | number | bigint, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        featureMap: Attribute<TypeFromPartialBitSchema<{
            advancedSeek: BitFlag;
            audioAdvance: BitFlag;
            audioTracks: BitFlag;
            textTracks: BitFlag;
            variableSpeed: BitFlag;
        }>, never>;
        generatedCommandList: Attribute<CommandId[], never>;
        playbackSpeed: Attribute<number, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        sampledPosition: Attribute<null | TypeFromFields<{
            position: FieldType<null | number | bigint>;
            updatedAt: FieldType<number | bigint>;
        }>, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        seekRangeEnd: Attribute<null | number | bigint, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        seekRangeStart: Attribute<null | number | bigint, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        startTime: Attribute<null | number | bigint, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
    }, GlobalAttributes<{
        advancedSeek: BitFlag;
        audioAdvance: BitFlag;
        audioTracks: BitFlag;
        textTracks: BitFlag;
        variableSpeed: BitFlag;
    }>>;
    base: undefined;
    commands: {
        activateAudioTrack: Command<TypeFromFields<{
            audioOutputIndex: OptionalFieldType<null | number>;
            trackId: FieldType<string>;
        }>, void, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                audioTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        activateTextTrack: Command<TypeFromFields<{
            trackId: FieldType<string>;
        }>, void, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                textTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        deactivateTextTrack: Command<void, void, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                textTracks: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        fastForward: Command<TypeFromFields<{
            audioAdvanceUnmuted: OptionalFieldType<boolean>;
        }>, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                variableSpeed: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        next: OptionalCommand<void, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        pause: Command<void, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        play: Command<void, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        previous: OptionalCommand<void, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        rewind: Command<TypeFromFields<{
            audioAdvanceUnmuted: OptionalFieldType<boolean>;
        }>, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                variableSpeed: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        seek: Command<TypeFromFields<{
            position: FieldType<number | bigint>;
        }>, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                advancedSeek: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        skipBackward: OptionalCommand<TypeFromFields<{
            deltaPositionMilliseconds: FieldType<number | bigint>;
        }>, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        skipForward: OptionalCommand<TypeFromFields<{
            deltaPositionMilliseconds: FieldType<number | bigint>;
        }>, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        startOver: OptionalCommand<void, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        stop: Command<void, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
    };
    events: {
        stateChanged: OptionalEvent<TypeFromFields<{
            audioAdvanceUnmuted: OptionalFieldType<boolean>;
            currentState: FieldType<MediaPlayback.PlaybackState>;
            data: OptionalFieldType<Uint8Array>;
            duration: OptionalFieldType<number | bigint>;
            playbackSpeed: OptionalFieldType<number>;
            sampledPosition: OptionalFieldType<TypeFromFields<{
                position: FieldType<null | number | bigint>;
                updatedAt: FieldType<number | bigint>;
            }>>;
            seekRangeEnd: OptionalFieldType<number | bigint>;
            seekRangeStart: OptionalFieldType<number | bigint>;
            startTime: OptionalFieldType<number | bigint>;
        }>, any>;
    };
    extensions: undefined;
    features: {
        advancedSeek: BitFlag;
        audioAdvance: BitFlag;
        audioTracks: BitFlag;
        textTracks: BitFlag;
        variableSpeed: BitFlag;
    };
    id: Branded<Branded<1286, "ClusterId">, "ClusterId">;
    name: "MediaPlayback";
    revision: 2;
    supportedFeatures: {};
    unknown: false;
    alter<const AlterationsT>(alterations: AlterationsT): WithAlterations<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            activeAudioTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activeTextTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            attributeList: Attribute<AttributeId[], never>;
            availableAudioTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            availableTextTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            clusterRevision: Attribute<number, never>;
            currentState: Attribute<MediaPlayback.PlaybackState, any>;
            duration: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            featureMap: Attribute<TypeFromPartialBitSchema<{
                advancedSeek: BitFlag;
                audioAdvance: BitFlag;
                audioTracks: BitFlag;
                textTracks: BitFlag;
                variableSpeed: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
            playbackSpeed: Attribute<number, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            sampledPosition: Attribute<null | TypeFromFields<{
                position: FieldType<(...) | (...) | (...)>;
                updatedAt: FieldType<(...) | (...)>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeEnd: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeStart: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            startTime: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
        };
        commands: {
            activateAudioTrack: Command<TypeFromFields<{
                audioOutputIndex: OptionalFieldType<null | number>;
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activateTextTrack: Command<TypeFromFields<{
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            deactivateTextTrack: Command<void, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            fastForward: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            next: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            pause: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            play: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            previous: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            rewind: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seek: Command<TypeFromFields<{
                position: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            skipBackward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            skipForward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            startOver: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            stop: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
        };
        events: {
            stateChanged: OptionalEvent<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
                currentState: FieldType<MediaPlayback.PlaybackState>;
                data: OptionalFieldType<Uint8Array>;
                duration: OptionalFieldType<number | bigint>;
                playbackSpeed: OptionalFieldType<number>;
                sampledPosition: OptionalFieldType<TypeFromFields<{
                    position: FieldType<(...)>;
                    updatedAt: FieldType<(...)>;
                }>>;
                seekRangeEnd: OptionalFieldType<number | bigint>;
                seekRangeStart: OptionalFieldType<number | bigint>;
                startTime: OptionalFieldType<number | bigint>;
            }>, any>;
        };
        features: {
            advancedSeek: BitFlag;
            audioAdvance: BitFlag;
            audioTracks: BitFlag;
            textTracks: BitFlag;
            variableSpeed: BitFlag;
        };
        id: Branded<1286, "ClusterId">;
        name: "MediaPlayback";
        revision: 2;
    }>, AlterationsT>;
    enable<const FlagsT>(flags: FlagsT): WithFlags<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            activeAudioTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activeTextTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            attributeList: Attribute<AttributeId[], never>;
            availableAudioTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            availableTextTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            clusterRevision: Attribute<number, never>;
            currentState: Attribute<MediaPlayback.PlaybackState, any>;
            duration: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            featureMap: Attribute<TypeFromPartialBitSchema<{
                advancedSeek: BitFlag;
                audioAdvance: BitFlag;
                audioTracks: BitFlag;
                textTracks: BitFlag;
                variableSpeed: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
            playbackSpeed: Attribute<number, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            sampledPosition: Attribute<null | TypeFromFields<{
                position: FieldType<(...) | (...) | (...)>;
                updatedAt: FieldType<(...) | (...)>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeEnd: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeStart: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            startTime: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
        };
        commands: {
            activateAudioTrack: Command<TypeFromFields<{
                audioOutputIndex: OptionalFieldType<null | number>;
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activateTextTrack: Command<TypeFromFields<{
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            deactivateTextTrack: Command<void, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            fastForward: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            next: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            pause: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            play: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            previous: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            rewind: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seek: Command<TypeFromFields<{
                position: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            skipBackward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            skipForward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            startOver: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            stop: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
        };
        events: {
            stateChanged: OptionalEvent<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
                currentState: FieldType<MediaPlayback.PlaybackState>;
                data: OptionalFieldType<Uint8Array>;
                duration: OptionalFieldType<number | bigint>;
                playbackSpeed: OptionalFieldType<number>;
                sampledPosition: OptionalFieldType<TypeFromFields<{
                    position: FieldType<(...)>;
                    updatedAt: FieldType<(...)>;
                }>>;
                seekRangeEnd: OptionalFieldType<number | bigint>;
                seekRangeStart: OptionalFieldType<number | bigint>;
                startTime: OptionalFieldType<number | bigint>;
            }>, any>;
        };
        features: {
            advancedSeek: BitFlag;
            audioAdvance: BitFlag;
            audioTracks: BitFlag;
            textTracks: BitFlag;
            variableSpeed: BitFlag;
        };
        id: Branded<1286, "ClusterId">;
        name: "MediaPlayback";
        revision: 2;
    }>, FlagsT>;
    set<const ValuesT>(values: ValuesT): WithValues<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            activeAudioTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activeTextTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            attributeList: Attribute<AttributeId[], never>;
            availableAudioTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            availableTextTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            clusterRevision: Attribute<number, never>;
            currentState: Attribute<MediaPlayback.PlaybackState, any>;
            duration: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            featureMap: Attribute<TypeFromPartialBitSchema<{
                advancedSeek: BitFlag;
                audioAdvance: BitFlag;
                audioTracks: BitFlag;
                textTracks: BitFlag;
                variableSpeed: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
            playbackSpeed: Attribute<number, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            sampledPosition: Attribute<null | TypeFromFields<{
                position: FieldType<(...) | (...) | (...)>;
                updatedAt: FieldType<(...) | (...)>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeEnd: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeStart: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            startTime: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
        };
        commands: {
            activateAudioTrack: Command<TypeFromFields<{
                audioOutputIndex: OptionalFieldType<null | number>;
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activateTextTrack: Command<TypeFromFields<{
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            deactivateTextTrack: Command<void, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            fastForward: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            next: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            pause: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            play: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            previous: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            rewind: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seek: Command<TypeFromFields<{
                position: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            skipBackward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            skipForward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            startOver: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            stop: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
        };
        events: {
            stateChanged: OptionalEvent<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
                currentState: FieldType<MediaPlayback.PlaybackState>;
                data: OptionalFieldType<Uint8Array>;
                duration: OptionalFieldType<number | bigint>;
                playbackSpeed: OptionalFieldType<number>;
                sampledPosition: OptionalFieldType<TypeFromFields<{
                    position: FieldType<(...)>;
                    updatedAt: FieldType<(...)>;
                }>>;
                seekRangeEnd: OptionalFieldType<number | bigint>;
                seekRangeStart: OptionalFieldType<number | bigint>;
                startTime: OptionalFieldType<number | bigint>;
            }>, any>;
        };
        features: {
            advancedSeek: BitFlag;
            audioAdvance: BitFlag;
            audioTracks: BitFlag;
            textTracks: BitFlag;
            variableSpeed: BitFlag;
        };
        id: Branded<1286, "ClusterId">;
        name: "MediaPlayback";
        revision: 2;
    }>, ValuesT>;
    with<const SelectionT>(...selection: SelectionT): Of<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            activeAudioTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activeTextTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            attributeList: Attribute<AttributeId[], never>;
            availableAudioTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            availableTextTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            clusterRevision: Attribute<number, never>;
            currentState: Attribute<MediaPlayback.PlaybackState, any>;
            duration: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            featureMap: Attribute<TypeFromPartialBitSchema<{
                advancedSeek: BitFlag;
                audioAdvance: BitFlag;
                audioTracks: BitFlag;
                textTracks: BitFlag;
                variableSpeed: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
            playbackSpeed: Attribute<number, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            sampledPosition: Attribute<null | TypeFromFields<{
                position: FieldType<(...) | (...) | (...)>;
                updatedAt: FieldType<(...) | (...)>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeEnd: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeStart: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            startTime: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
        };
        commands: {
            activateAudioTrack: Command<TypeFromFields<{
                audioOutputIndex: OptionalFieldType<null | number>;
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activateTextTrack: Command<TypeFromFields<{
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            deactivateTextTrack: Command<void, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            fastForward: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            next: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            pause: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            play: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            previous: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            rewind: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seek: Command<TypeFromFields<{
                position: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            skipBackward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            skipForward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            startOver: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            stop: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
        };
        events: {
            stateChanged: OptionalEvent<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
                currentState: FieldType<MediaPlayback.PlaybackState>;
                data: OptionalFieldType<Uint8Array>;
                duration: OptionalFieldType<number | bigint>;
                playbackSpeed: OptionalFieldType<number>;
                sampledPosition: OptionalFieldType<TypeFromFields<{
                    position: FieldType<(...)>;
                    updatedAt: FieldType<(...)>;
                }>>;
                seekRangeEnd: OptionalFieldType<number | bigint>;
                seekRangeStart: OptionalFieldType<number | bigint>;
                startTime: OptionalFieldType<number | bigint>;
            }>, any>;
        };
        features: {
            advancedSeek: BitFlag;
            audioAdvance: BitFlag;
            audioTracks: BitFlag;
            textTracks: BitFlag;
            variableSpeed: BitFlag;
        };
        id: Branded<1286, "ClusterId">;
        name: "MediaPlayback";
        revision: 2;
    }>, SelectionT>;
}

Hierarchy (view full)

Properties

attributes: Merge<{
    acceptedCommandList: Attribute<CommandId[], never>;
    activeAudioTrack: Attribute<null | TypeFromFields<{
        id: FieldType<string>;
        trackAttributes: FieldType<TypeFromFields<{
            characteristics: OptionalFieldType<(...)>;
            displayName: OptionalFieldType<(...)>;
            languageCode: FieldType<(...)>;
        }>>;
    }>, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            audioTracks: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    activeTextTrack: Attribute<null | TypeFromFields<{
        id: FieldType<string>;
        trackAttributes: FieldType<TypeFromFields<{
            characteristics: OptionalFieldType<(...)>;
            displayName: OptionalFieldType<(...)>;
            languageCode: FieldType<(...)>;
        }>>;
    }>, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            textTracks: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    attributeList: Attribute<AttributeId[], never>;
    availableAudioTracks: Attribute<null | TypeFromFields<{
        id: FieldType<string>;
        trackAttributes: FieldType<TypeFromFields<{
            characteristics: ...;
            displayName: ...;
            languageCode: ...;
        }>>;
    }>[], any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            audioTracks: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    availableTextTracks: Attribute<null | TypeFromFields<{
        id: FieldType<string>;
        trackAttributes: FieldType<TypeFromFields<{
            characteristics: ...;
            displayName: ...;
            languageCode: ...;
        }>>;
    }>[], any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            textTracks: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    clusterRevision: Attribute<number, never>;
    currentState: Attribute<MediaPlayback.PlaybackState, any>;
    duration: Attribute<null | number | bigint, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            advancedSeek: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    featureMap: Attribute<TypeFromPartialBitSchema<{
        advancedSeek: BitFlag;
        audioAdvance: BitFlag;
        audioTracks: BitFlag;
        textTracks: BitFlag;
        variableSpeed: BitFlag;
    }>, never>;
    generatedCommandList: Attribute<CommandId[], never>;
    playbackSpeed: Attribute<number, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            advancedSeek: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    sampledPosition: Attribute<null | TypeFromFields<{
        position: FieldType<null | number | bigint>;
        updatedAt: FieldType<number | bigint>;
    }>, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            advancedSeek: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    seekRangeEnd: Attribute<null | number | bigint, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            advancedSeek: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    seekRangeStart: Attribute<null | number | bigint, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            advancedSeek: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    startTime: Attribute<null | number | bigint, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            advancedSeek: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
}, GlobalAttributes<{
    advancedSeek: BitFlag;
    audioAdvance: BitFlag;
    audioTracks: BitFlag;
    textTracks: BitFlag;
    variableSpeed: BitFlag;
}>>
base: undefined
commands: {
    activateAudioTrack: Command<TypeFromFields<{
        audioOutputIndex: OptionalFieldType<null | number>;
        trackId: FieldType<string>;
    }>, void, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            audioTracks: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    activateTextTrack: Command<TypeFromFields<{
        trackId: FieldType<string>;
    }>, void, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            textTracks: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    deactivateTextTrack: Command<void, void, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            textTracks: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    fastForward: Command<TypeFromFields<{
        audioAdvanceUnmuted: OptionalFieldType<boolean>;
    }>, TypeFromFields<{
        data: OptionalFieldType<string>;
        status: FieldType<MediaPlayback.Status>;
    }>, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            variableSpeed: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    next: OptionalCommand<void, TypeFromFields<{
        data: OptionalFieldType<string>;
        status: FieldType<MediaPlayback.Status>;
    }>, any>;
    pause: Command<void, TypeFromFields<{
        data: OptionalFieldType<string>;
        status: FieldType<MediaPlayback.Status>;
    }>, any>;
    play: Command<void, TypeFromFields<{
        data: OptionalFieldType<string>;
        status: FieldType<MediaPlayback.Status>;
    }>, any>;
    previous: OptionalCommand<void, TypeFromFields<{
        data: OptionalFieldType<string>;
        status: FieldType<MediaPlayback.Status>;
    }>, any>;
    rewind: Command<TypeFromFields<{
        audioAdvanceUnmuted: OptionalFieldType<boolean>;
    }>, TypeFromFields<{
        data: OptionalFieldType<string>;
        status: FieldType<MediaPlayback.Status>;
    }>, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            variableSpeed: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    seek: Command<TypeFromFields<{
        position: FieldType<number | bigint>;
    }>, TypeFromFields<{
        data: OptionalFieldType<string>;
        status: FieldType<MediaPlayback.Status>;
    }>, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            advancedSeek: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    skipBackward: OptionalCommand<TypeFromFields<{
        deltaPositionMilliseconds: FieldType<number | bigint>;
    }>, TypeFromFields<{
        data: OptionalFieldType<string>;
        status: FieldType<MediaPlayback.Status>;
    }>, any>;
    skipForward: OptionalCommand<TypeFromFields<{
        deltaPositionMilliseconds: FieldType<number | bigint>;
    }>, TypeFromFields<{
        data: OptionalFieldType<string>;
        status: FieldType<MediaPlayback.Status>;
    }>, any>;
    startOver: OptionalCommand<void, TypeFromFields<{
        data: OptionalFieldType<string>;
        status: FieldType<MediaPlayback.Status>;
    }>, any>;
    stop: Command<void, TypeFromFields<{
        data: OptionalFieldType<string>;
        status: FieldType<MediaPlayback.Status>;
    }>, any>;
}

Type declaration

events: {
    stateChanged: OptionalEvent<TypeFromFields<{
        audioAdvanceUnmuted: OptionalFieldType<boolean>;
        currentState: FieldType<MediaPlayback.PlaybackState>;
        data: OptionalFieldType<Uint8Array>;
        duration: OptionalFieldType<number | bigint>;
        playbackSpeed: OptionalFieldType<number>;
        sampledPosition: OptionalFieldType<TypeFromFields<{
            position: FieldType<null | number | bigint>;
            updatedAt: FieldType<number | bigint>;
        }>>;
        seekRangeEnd: OptionalFieldType<number | bigint>;
        seekRangeStart: OptionalFieldType<number | bigint>;
        startTime: OptionalFieldType<number | bigint>;
    }>, any>;
}

Type declaration

extensions: undefined
features: {
    advancedSeek: BitFlag;
    audioAdvance: BitFlag;
    audioTracks: BitFlag;
    textTracks: BitFlag;
    variableSpeed: BitFlag;
}

Type declaration

  • 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

id: Branded<Branded<1286, "ClusterId">, "ClusterId">
name
revision
supportedFeatures: {}
unknown

Methods

  • Modify elements using ElementModifier.alter.

    Type Parameters

    • const AlterationsT extends Alterations<Of<{
          attributes: {
              acceptedCommandList: Attribute<CommandId[], never>;
              activeAudioTrack: Attribute<null | TypeFromFields<{
                  id: FieldType<string>;
                  trackAttributes: FieldType<TypeFromFields<(...)>>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      audioTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              activeTextTrack: Attribute<null | TypeFromFields<{
                  id: FieldType<string>;
                  trackAttributes: FieldType<TypeFromFields<(...)>>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      textTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              attributeList: Attribute<AttributeId[], never>;
              availableAudioTracks: Attribute<null | TypeFromFields<{
                  id: FieldType<(...)>;
                  trackAttributes: FieldType<(...)>;
              }>[], any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      audioTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              availableTextTracks: Attribute<null | TypeFromFields<{
                  id: FieldType<(...)>;
                  trackAttributes: FieldType<(...)>;
              }>[], any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      textTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              clusterRevision: Attribute<number, never>;
              currentState: Attribute<MediaPlayback.PlaybackState, any>;
              duration: Attribute<null | number | bigint, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              featureMap: Attribute<TypeFromPartialBitSchema<{
                  advancedSeek: BitFlag;
                  audioAdvance: BitFlag;
                  audioTracks: BitFlag;
                  textTracks: BitFlag;
                  variableSpeed: BitFlag;
              }>, never>;
              generatedCommandList: Attribute<CommandId[], never>;
              playbackSpeed: Attribute<number, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              sampledPosition: Attribute<null | TypeFromFields<{
                  position: FieldType<(...) | (...) | (...)>;
                  updatedAt: FieldType<(...) | (...)>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              seekRangeEnd: Attribute<null | number | bigint, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              seekRangeStart: Attribute<null | number | bigint, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              startTime: Attribute<null | number | bigint, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
          };
          commands: {
              activateAudioTrack: Command<TypeFromFields<{
                  audioOutputIndex: OptionalFieldType<null | number>;
                  trackId: FieldType<string>;
              }>, void, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      audioTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              activateTextTrack: Command<TypeFromFields<{
                  trackId: FieldType<string>;
              }>, void, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      textTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              deactivateTextTrack: Command<void, void, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      textTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              fastForward: Command<TypeFromFields<{
                  audioAdvanceUnmuted: OptionalFieldType<boolean>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      variableSpeed: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              next: OptionalCommand<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              pause: Command<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              play: Command<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              previous: OptionalCommand<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              rewind: Command<TypeFromFields<{
                  audioAdvanceUnmuted: OptionalFieldType<boolean>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      variableSpeed: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              seek: Command<TypeFromFields<{
                  position: FieldType<number | bigint>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              skipBackward: OptionalCommand<TypeFromFields<{
                  deltaPositionMilliseconds: FieldType<number | bigint>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              skipForward: OptionalCommand<TypeFromFields<{
                  deltaPositionMilliseconds: FieldType<number | bigint>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              startOver: OptionalCommand<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              stop: Command<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
          };
          events: {
              stateChanged: OptionalEvent<TypeFromFields<{
                  audioAdvanceUnmuted: OptionalFieldType<boolean>;
                  currentState: FieldType<MediaPlayback.PlaybackState>;
                  data: OptionalFieldType<Uint8Array>;
                  duration: OptionalFieldType<number | bigint>;
                  playbackSpeed: OptionalFieldType<number>;
                  sampledPosition: OptionalFieldType<TypeFromFields<{
                      position: FieldType<(...)>;
                      updatedAt: FieldType<(...)>;
                  }>>;
                  seekRangeEnd: OptionalFieldType<number | bigint>;
                  seekRangeStart: OptionalFieldType<number | bigint>;
                  startTime: OptionalFieldType<number | bigint>;
              }>, any>;
          };
          features: {
              advancedSeek: BitFlag;
              audioAdvance: BitFlag;
              audioTracks: BitFlag;
              textTracks: BitFlag;
              variableSpeed: BitFlag;
          };
          id: Branded<1286, "ClusterId">;
          name: "MediaPlayback";
          revision: 2;
      }>>

    Parameters

    Returns WithAlterations<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            activeAudioTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activeTextTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            attributeList: Attribute<AttributeId[], never>;
            availableAudioTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            availableTextTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            clusterRevision: Attribute<number, never>;
            currentState: Attribute<MediaPlayback.PlaybackState, any>;
            duration: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            featureMap: Attribute<TypeFromPartialBitSchema<{
                advancedSeek: BitFlag;
                audioAdvance: BitFlag;
                audioTracks: BitFlag;
                textTracks: BitFlag;
                variableSpeed: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
            playbackSpeed: Attribute<number, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            sampledPosition: Attribute<null | TypeFromFields<{
                position: FieldType<(...) | (...) | (...)>;
                updatedAt: FieldType<(...) | (...)>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeEnd: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeStart: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            startTime: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
        };
        commands: {
            activateAudioTrack: Command<TypeFromFields<{
                audioOutputIndex: OptionalFieldType<null | number>;
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activateTextTrack: Command<TypeFromFields<{
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            deactivateTextTrack: Command<void, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            fastForward: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            next: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            pause: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            play: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            previous: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            rewind: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seek: Command<TypeFromFields<{
                position: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            skipBackward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            skipForward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            startOver: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            stop: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
        };
        events: {
            stateChanged: OptionalEvent<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
                currentState: FieldType<MediaPlayback.PlaybackState>;
                data: OptionalFieldType<Uint8Array>;
                duration: OptionalFieldType<number | bigint>;
                playbackSpeed: OptionalFieldType<number>;
                sampledPosition: OptionalFieldType<TypeFromFields<{
                    position: FieldType<(...)>;
                    updatedAt: FieldType<(...)>;
                }>>;
                seekRangeEnd: OptionalFieldType<number | bigint>;
                seekRangeStart: OptionalFieldType<number | bigint>;
                startTime: OptionalFieldType<number | bigint>;
            }>, any>;
        };
        features: {
            advancedSeek: BitFlag;
            audioAdvance: BitFlag;
            audioTracks: BitFlag;
            textTracks: BitFlag;
            variableSpeed: BitFlag;
        };
        id: Branded<1286, "ClusterId">;
        name: "MediaPlayback";
        revision: 2;
    }>, AlterationsT>

  • Modify elements using ElementModifier.enable.

    Type Parameters

    • const FlagsT extends ElementFlags<Of<{
          attributes: {
              acceptedCommandList: Attribute<CommandId[], never>;
              activeAudioTrack: Attribute<null | TypeFromFields<{
                  id: FieldType<string>;
                  trackAttributes: FieldType<TypeFromFields<(...)>>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      audioTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              activeTextTrack: Attribute<null | TypeFromFields<{
                  id: FieldType<string>;
                  trackAttributes: FieldType<TypeFromFields<(...)>>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      textTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              attributeList: Attribute<AttributeId[], never>;
              availableAudioTracks: Attribute<null | TypeFromFields<{
                  id: FieldType<(...)>;
                  trackAttributes: FieldType<(...)>;
              }>[], any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      audioTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              availableTextTracks: Attribute<null | TypeFromFields<{
                  id: FieldType<(...)>;
                  trackAttributes: FieldType<(...)>;
              }>[], any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      textTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              clusterRevision: Attribute<number, never>;
              currentState: Attribute<MediaPlayback.PlaybackState, any>;
              duration: Attribute<null | number | bigint, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              featureMap: Attribute<TypeFromPartialBitSchema<{
                  advancedSeek: BitFlag;
                  audioAdvance: BitFlag;
                  audioTracks: BitFlag;
                  textTracks: BitFlag;
                  variableSpeed: BitFlag;
              }>, never>;
              generatedCommandList: Attribute<CommandId[], never>;
              playbackSpeed: Attribute<number, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              sampledPosition: Attribute<null | TypeFromFields<{
                  position: FieldType<(...) | (...) | (...)>;
                  updatedAt: FieldType<(...) | (...)>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              seekRangeEnd: Attribute<null | number | bigint, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              seekRangeStart: Attribute<null | number | bigint, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              startTime: Attribute<null | number | bigint, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
          };
          commands: {
              activateAudioTrack: Command<TypeFromFields<{
                  audioOutputIndex: OptionalFieldType<null | number>;
                  trackId: FieldType<string>;
              }>, void, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      audioTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              activateTextTrack: Command<TypeFromFields<{
                  trackId: FieldType<string>;
              }>, void, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      textTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              deactivateTextTrack: Command<void, void, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      textTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              fastForward: Command<TypeFromFields<{
                  audioAdvanceUnmuted: OptionalFieldType<boolean>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      variableSpeed: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              next: OptionalCommand<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              pause: Command<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              play: Command<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              previous: OptionalCommand<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              rewind: Command<TypeFromFields<{
                  audioAdvanceUnmuted: OptionalFieldType<boolean>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      variableSpeed: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              seek: Command<TypeFromFields<{
                  position: FieldType<number | bigint>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              skipBackward: OptionalCommand<TypeFromFields<{
                  deltaPositionMilliseconds: FieldType<number | bigint>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              skipForward: OptionalCommand<TypeFromFields<{
                  deltaPositionMilliseconds: FieldType<number | bigint>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              startOver: OptionalCommand<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              stop: Command<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
          };
          events: {
              stateChanged: OptionalEvent<TypeFromFields<{
                  audioAdvanceUnmuted: OptionalFieldType<boolean>;
                  currentState: FieldType<MediaPlayback.PlaybackState>;
                  data: OptionalFieldType<Uint8Array>;
                  duration: OptionalFieldType<number | bigint>;
                  playbackSpeed: OptionalFieldType<number>;
                  sampledPosition: OptionalFieldType<TypeFromFields<{
                      position: FieldType<(...)>;
                      updatedAt: FieldType<(...)>;
                  }>>;
                  seekRangeEnd: OptionalFieldType<number | bigint>;
                  seekRangeStart: OptionalFieldType<number | bigint>;
                  startTime: OptionalFieldType<number | bigint>;
              }>, any>;
          };
          features: {
              advancedSeek: BitFlag;
              audioAdvance: BitFlag;
              audioTracks: BitFlag;
              textTracks: BitFlag;
              variableSpeed: BitFlag;
          };
          id: Branded<1286, "ClusterId">;
          name: "MediaPlayback";
          revision: 2;
      }>>

    Parameters

    Returns WithFlags<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            activeAudioTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activeTextTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            attributeList: Attribute<AttributeId[], never>;
            availableAudioTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            availableTextTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            clusterRevision: Attribute<number, never>;
            currentState: Attribute<MediaPlayback.PlaybackState, any>;
            duration: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            featureMap: Attribute<TypeFromPartialBitSchema<{
                advancedSeek: BitFlag;
                audioAdvance: BitFlag;
                audioTracks: BitFlag;
                textTracks: BitFlag;
                variableSpeed: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
            playbackSpeed: Attribute<number, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            sampledPosition: Attribute<null | TypeFromFields<{
                position: FieldType<(...) | (...) | (...)>;
                updatedAt: FieldType<(...) | (...)>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeEnd: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeStart: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            startTime: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
        };
        commands: {
            activateAudioTrack: Command<TypeFromFields<{
                audioOutputIndex: OptionalFieldType<null | number>;
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activateTextTrack: Command<TypeFromFields<{
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            deactivateTextTrack: Command<void, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            fastForward: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            next: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            pause: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            play: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            previous: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            rewind: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seek: Command<TypeFromFields<{
                position: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            skipBackward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            skipForward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            startOver: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            stop: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
        };
        events: {
            stateChanged: OptionalEvent<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
                currentState: FieldType<MediaPlayback.PlaybackState>;
                data: OptionalFieldType<Uint8Array>;
                duration: OptionalFieldType<number | bigint>;
                playbackSpeed: OptionalFieldType<number>;
                sampledPosition: OptionalFieldType<TypeFromFields<{
                    position: FieldType<(...)>;
                    updatedAt: FieldType<(...)>;
                }>>;
                seekRangeEnd: OptionalFieldType<number | bigint>;
                seekRangeStart: OptionalFieldType<number | bigint>;
                startTime: OptionalFieldType<number | bigint>;
            }>, any>;
        };
        features: {
            advancedSeek: BitFlag;
            audioAdvance: BitFlag;
            audioTracks: BitFlag;
            textTracks: BitFlag;
            variableSpeed: BitFlag;
        };
        id: Branded<1286, "ClusterId">;
        name: "MediaPlayback";
        revision: 2;
    }>, FlagsT>

  • Modify elements using ElementModifier.set.

    Type Parameters

    • const ValuesT extends {
          activeAudioTrack?: null | {
              id: string;
              trackAttributes: {
                  characteristics?: null | number[];
                  displayName?: null | string;
                  languageCode: string;
              };
          };
          activeTextTrack?: null | {
              id: string;
              trackAttributes: {
                  characteristics?: null | number[];
                  displayName?: null | string;
                  languageCode: string;
              };
          };
          availableAudioTracks?: null | {
              id: string;
              trackAttributes: {
                  characteristics?: null | number[];
                  displayName?: null | string;
                  languageCode: string;
              };
          }[];
          availableTextTracks?: null | {
              id: string;
              trackAttributes: {
                  characteristics?: null | number[];
                  displayName?: null | string;
                  languageCode: string;
              };
          }[];
          currentState: number;
          duration?: null | number | bigint;
          playbackSpeed?: number;
          sampledPosition?: null | {
              position: null | number | bigint;
              updatedAt: number | bigint;
          };
          seekRangeEnd?: null | number | bigint;
          seekRangeStart?: null | number | bigint;
          startTime?: null | number | bigint;
      }

    Parameters

    Returns WithValues<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            activeAudioTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activeTextTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            attributeList: Attribute<AttributeId[], never>;
            availableAudioTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            availableTextTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            clusterRevision: Attribute<number, never>;
            currentState: Attribute<MediaPlayback.PlaybackState, any>;
            duration: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            featureMap: Attribute<TypeFromPartialBitSchema<{
                advancedSeek: BitFlag;
                audioAdvance: BitFlag;
                audioTracks: BitFlag;
                textTracks: BitFlag;
                variableSpeed: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
            playbackSpeed: Attribute<number, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            sampledPosition: Attribute<null | TypeFromFields<{
                position: FieldType<(...) | (...) | (...)>;
                updatedAt: FieldType<(...) | (...)>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeEnd: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeStart: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            startTime: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
        };
        commands: {
            activateAudioTrack: Command<TypeFromFields<{
                audioOutputIndex: OptionalFieldType<null | number>;
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activateTextTrack: Command<TypeFromFields<{
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            deactivateTextTrack: Command<void, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            fastForward: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            next: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            pause: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            play: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            previous: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            rewind: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seek: Command<TypeFromFields<{
                position: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            skipBackward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            skipForward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            startOver: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            stop: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
        };
        events: {
            stateChanged: OptionalEvent<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
                currentState: FieldType<MediaPlayback.PlaybackState>;
                data: OptionalFieldType<Uint8Array>;
                duration: OptionalFieldType<number | bigint>;
                playbackSpeed: OptionalFieldType<number>;
                sampledPosition: OptionalFieldType<TypeFromFields<{
                    position: FieldType<(...)>;
                    updatedAt: FieldType<(...)>;
                }>>;
                seekRangeEnd: OptionalFieldType<number | bigint>;
                seekRangeStart: OptionalFieldType<number | bigint>;
                startTime: OptionalFieldType<number | bigint>;
            }>, any>;
        };
        features: {
            advancedSeek: BitFlag;
            audioAdvance: BitFlag;
            audioTracks: BitFlag;
            textTracks: BitFlag;
            variableSpeed: BitFlag;
        };
        id: Branded<1286, "ClusterId">;
        name: "MediaPlayback";
        revision: 2;
    }>, ValuesT>

  • Select features using ClusterComposer.compose.

    Type Parameters

    • const SelectionT extends FeatureSelection<Of<{
          attributes: {
              acceptedCommandList: Attribute<CommandId[], never>;
              activeAudioTrack: Attribute<null | TypeFromFields<{
                  id: FieldType<string>;
                  trackAttributes: FieldType<TypeFromFields<(...)>>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      audioTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              activeTextTrack: Attribute<null | TypeFromFields<{
                  id: FieldType<string>;
                  trackAttributes: FieldType<TypeFromFields<(...)>>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      textTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              attributeList: Attribute<AttributeId[], never>;
              availableAudioTracks: Attribute<null | TypeFromFields<{
                  id: FieldType<(...)>;
                  trackAttributes: FieldType<(...)>;
              }>[], any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      audioTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              availableTextTracks: Attribute<null | TypeFromFields<{
                  id: FieldType<(...)>;
                  trackAttributes: FieldType<(...)>;
              }>[], any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      textTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              clusterRevision: Attribute<number, never>;
              currentState: Attribute<MediaPlayback.PlaybackState, any>;
              duration: Attribute<null | number | bigint, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              featureMap: Attribute<TypeFromPartialBitSchema<{
                  advancedSeek: BitFlag;
                  audioAdvance: BitFlag;
                  audioTracks: BitFlag;
                  textTracks: BitFlag;
                  variableSpeed: BitFlag;
              }>, never>;
              generatedCommandList: Attribute<CommandId[], never>;
              playbackSpeed: Attribute<number, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              sampledPosition: Attribute<null | TypeFromFields<{
                  position: FieldType<(...) | (...) | (...)>;
                  updatedAt: FieldType<(...) | (...)>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              seekRangeEnd: Attribute<null | number | bigint, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              seekRangeStart: Attribute<null | number | bigint, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              startTime: Attribute<null | number | bigint, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
          };
          commands: {
              activateAudioTrack: Command<TypeFromFields<{
                  audioOutputIndex: OptionalFieldType<null | number>;
                  trackId: FieldType<string>;
              }>, void, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      audioTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              activateTextTrack: Command<TypeFromFields<{
                  trackId: FieldType<string>;
              }>, void, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      textTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              deactivateTextTrack: Command<void, void, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      textTracks: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              fastForward: Command<TypeFromFields<{
                  audioAdvanceUnmuted: OptionalFieldType<boolean>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      variableSpeed: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              next: OptionalCommand<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              pause: Command<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              play: Command<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              previous: OptionalCommand<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              rewind: Command<TypeFromFields<{
                  audioAdvanceUnmuted: OptionalFieldType<boolean>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      variableSpeed: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              seek: Command<TypeFromFields<{
                  position: FieldType<number | bigint>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any> & {
                  isConditional: true;
                  mandatoryIf: [] | [{
                      advancedSeek: boolean;
                  }];
                  optional: true;
                  optionalIf: [] | ConditionalFeatureList<BitSchema>;
              };
              skipBackward: OptionalCommand<TypeFromFields<{
                  deltaPositionMilliseconds: FieldType<number | bigint>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              skipForward: OptionalCommand<TypeFromFields<{
                  deltaPositionMilliseconds: FieldType<number | bigint>;
              }>, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              startOver: OptionalCommand<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
              stop: Command<void, TypeFromFields<{
                  data: OptionalFieldType<string>;
                  status: FieldType<MediaPlayback.Status>;
              }>, any>;
          };
          events: {
              stateChanged: OptionalEvent<TypeFromFields<{
                  audioAdvanceUnmuted: OptionalFieldType<boolean>;
                  currentState: FieldType<MediaPlayback.PlaybackState>;
                  data: OptionalFieldType<Uint8Array>;
                  duration: OptionalFieldType<number | bigint>;
                  playbackSpeed: OptionalFieldType<number>;
                  sampledPosition: OptionalFieldType<TypeFromFields<{
                      position: FieldType<(...)>;
                      updatedAt: FieldType<(...)>;
                  }>>;
                  seekRangeEnd: OptionalFieldType<number | bigint>;
                  seekRangeStart: OptionalFieldType<number | bigint>;
                  startTime: OptionalFieldType<number | bigint>;
              }>, any>;
          };
          features: {
              advancedSeek: BitFlag;
              audioAdvance: BitFlag;
              audioTracks: BitFlag;
              textTracks: BitFlag;
              variableSpeed: BitFlag;
          };
          id: Branded<1286, "ClusterId">;
          name: "MediaPlayback";
          revision: 2;
      }>>

    Parameters

    Returns Of<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            activeAudioTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activeTextTrack: Attribute<null | TypeFromFields<{
                id: FieldType<string>;
                trackAttributes: FieldType<TypeFromFields<(...)>>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            attributeList: Attribute<AttributeId[], never>;
            availableAudioTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            availableTextTracks: Attribute<null | TypeFromFields<{
                id: FieldType<(...)>;
                trackAttributes: FieldType<(...)>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            clusterRevision: Attribute<number, never>;
            currentState: Attribute<MediaPlayback.PlaybackState, any>;
            duration: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            featureMap: Attribute<TypeFromPartialBitSchema<{
                advancedSeek: BitFlag;
                audioAdvance: BitFlag;
                audioTracks: BitFlag;
                textTracks: BitFlag;
                variableSpeed: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
            playbackSpeed: Attribute<number, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            sampledPosition: Attribute<null | TypeFromFields<{
                position: FieldType<(...) | (...) | (...)>;
                updatedAt: FieldType<(...) | (...)>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeEnd: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seekRangeStart: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            startTime: Attribute<null | number | bigint, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
        };
        commands: {
            activateAudioTrack: Command<TypeFromFields<{
                audioOutputIndex: OptionalFieldType<null | number>;
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    audioTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            activateTextTrack: Command<TypeFromFields<{
                trackId: FieldType<string>;
            }>, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            deactivateTextTrack: Command<void, void, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    textTracks: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            fastForward: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            next: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            pause: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            play: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            previous: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            rewind: Command<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    variableSpeed: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            seek: Command<TypeFromFields<{
                position: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    advancedSeek: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            skipBackward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            skipForward: OptionalCommand<TypeFromFields<{
                deltaPositionMilliseconds: FieldType<number | bigint>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            startOver: OptionalCommand<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
            stop: Command<void, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<MediaPlayback.Status>;
            }>, any>;
        };
        events: {
            stateChanged: OptionalEvent<TypeFromFields<{
                audioAdvanceUnmuted: OptionalFieldType<boolean>;
                currentState: FieldType<MediaPlayback.PlaybackState>;
                data: OptionalFieldType<Uint8Array>;
                duration: OptionalFieldType<number | bigint>;
                playbackSpeed: OptionalFieldType<number>;
                sampledPosition: OptionalFieldType<TypeFromFields<{
                    position: FieldType<(...)>;
                    updatedAt: FieldType<(...)>;
                }>>;
                seekRangeEnd: OptionalFieldType<number | bigint>;
                seekRangeStart: OptionalFieldType<number | bigint>;
                startTime: OptionalFieldType<number | bigint>;
            }>, any>;
        };
        features: {
            advancedSeek: BitFlag;
            audioAdvance: BitFlag;
            audioTracks: BitFlag;
            textTracks: BitFlag;
            variableSpeed: BitFlag;
        };
        id: Branded<1286, "ClusterId">;
        name: "MediaPlayback";
        revision: 2;
    }>, SelectionT>