UNPKG

homebridge

Version:
61 lines 2.8 kB
/** * MediaPlayback Cluster Behavior * * Handles transport commands - play, pause, stop and track navigation - for * media players and speakers. */ import { MediaPlaybackServer } from '@matter/main/behaviors/media-playback'; import { MediaPlayback } from '@matter/main/clusters/media-playback'; /** * Default MediaPlayback Server. * * matter.js's base MediaPlaybackServer implements none of the commands - * invoking one throws NotImplementedError - so a player without plugin * handlers would advertise the transport controls and fail every one. This * default reflects the command in `currentState` and answers Success, which is * enough for the endpoint to behave sanely on its own. */ export declare class DefaultMediaPlaybackServer extends MediaPlaybackServer { /** * Record a new playback state, when the command implies one. */ protected reflect(state?: MediaPlayback.PlaybackState): MediaPlayback.PlaybackResponse; play(): Promise<MediaPlayback.PlaybackResponse>; pause(): Promise<MediaPlayback.PlaybackResponse>; stop(): Promise<MediaPlayback.PlaybackResponse>; startOver(): Promise<MediaPlayback.PlaybackResponse>; previous(): Promise<MediaPlayback.PlaybackResponse>; next(): Promise<MediaPlayback.PlaybackResponse>; skipForward(_request: MediaPlayback.SkipForwardRequest): Promise<MediaPlayback.PlaybackResponse>; skipBackward(_request: MediaPlayback.SkipBackwardRequest): Promise<MediaPlayback.PlaybackResponse>; } /** * Custom MediaPlayback Server that calls plugin handlers. * * Extends the default server for its `reflect()` state handling (the matter.js * base implements nothing at all). */ export declare class HomebridgeMediaPlaybackServer extends DefaultMediaPlaybackServer { /** * Get the registry for this behavior's endpoint */ private getRegistry; /** * Run a plugin handler and reflect the resulting playback state. * * A handler that throws a Matter protocol error is propagated as-is so the * controller gets the real status; anything else is answered with a * cluster-level status rather than an exception, which keeps the endpoint * online. */ private invoke; play(): Promise<MediaPlayback.PlaybackResponse>; pause(): Promise<MediaPlayback.PlaybackResponse>; stop(): Promise<MediaPlayback.PlaybackResponse>; startOver(): Promise<MediaPlayback.PlaybackResponse>; previous(): Promise<MediaPlayback.PlaybackResponse>; next(): Promise<MediaPlayback.PlaybackResponse>; skipForward(request: MediaPlayback.SkipForwardRequest): Promise<MediaPlayback.PlaybackResponse>; skipBackward(request: MediaPlayback.SkipBackwardRequest): Promise<MediaPlayback.PlaybackResponse>; } //# sourceMappingURL=MediaPlaybackBehavior.d.ts.map