UNPKG

@signalwire/realtime-api

Version:
45 lines 1.91 kB
/** * Once we have new interface for Browser SDK; * RoomSessionPlayback in core should be removed * RoomSessionPlayback in realtime-api should be moved to core */ import type { VideoPlaybackContract, VideoPlaybackEventParams } from '@signalwire/core'; import { ListenSubscriber } from '../../ListenSubscriber'; import { RealTimeRoomPlaybackEvents, RealTimeRoomPlaybackListeners, RealtimeRoomPlaybackListenersEventsMapping } from '../../types'; import { RoomSession } from '../RoomSession'; /** * Instances of this class allow you to control (e.g., pause, resume, stop) the * playback inside a room session. You can obtain instances of this class by * starting a playback from the desired {@link RoomSession} (see * {@link RoomSession.play}) */ export interface RoomSessionPlaybackOptions { roomSession: RoomSession; payload: VideoPlaybackEventParams; } export declare class RoomSessionPlayback extends ListenSubscriber<RealTimeRoomPlaybackListeners, RealTimeRoomPlaybackEvents> implements VideoPlaybackContract { private _payload; protected _eventMap: RealtimeRoomPlaybackListenersEventsMapping; constructor(options: RoomSessionPlaybackOptions); get id(): string; get roomId(): string; get roomSessionId(): string; get url(): string; get state(): "paused" | "completed" | "playing"; get volume(): number; get startedAt(): Date | undefined; get endedAt(): Date | undefined; get position(): number; get seekable(): boolean; get hasEnded(): boolean; /** @internal */ setPayload(payload: VideoPlaybackEventParams): void; pause(): Promise<void>; resume(): Promise<void>; stop(): Promise<void>; setVolume(volume: number): Promise<void>; seek(timecode: number): Promise<void>; forward(offset?: number): Promise<void>; rewind(offset?: number): Promise<void>; } //# sourceMappingURL=RoomSessionPlayback.d.ts.map