MediaDevices

  1. interface MediaDevices extends EventTarget {
  2. ondevicechange: ((this: MediaDevices, ev: Event) => any) | null;
  3. enumerateDevices(): Promise<MediaDeviceInfo[]>;
  4. getSupportedConstraints(): MediaTrackSupportedConstraints;
  5. getUserMedia(constraints: MediaStreamConstraints): Promise<MediaStream>;
  6. addEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
  7. addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
  8. removeEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
  9. removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  10. }

MediaStreamConstraints

  1. interface MediaStreamConstraints {
  2. audio?: boolean | MediaTrackConstraints;
  3. peerIdentity?: string;
  4. video?: boolean | MediaTrackConstraints;
  5. }

MediaStream

  1. interface MediaStreamEventMap {
  2. "active": Event;
  3. "addtrack": MediaStreamTrackEvent;
  4. "inactive": Event;
  5. "removetrack": MediaStreamTrackEvent;
  6. }
  7. interface MediaStream extends EventTarget {
  8. readonly active: boolean;
  9. readonly id: string;
  10. onactive: ((this: MediaStream, ev: Event) => any) | null;
  11. onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
  12. oninactive: ((this: MediaStream, ev: Event) => any) | null;
  13. onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
  14. addTrack(track: MediaStreamTrack): void;
  15. clone(): MediaStream;
  16. getAudioTracks(): MediaStreamTrack[];
  17. getTrackById(trackId: string): MediaStreamTrack | null;
  18. getTracks(): MediaStreamTrack[];
  19. getVideoTracks(): MediaStreamTrack[];
  20. removeTrack(track: MediaStreamTrack): void;
  21. stop(): void;
  22. addEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
  23. addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
  24. removeEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
  25. removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  26. }
  27. interface MediaSource extends EventTarget {
  28. readonly activeSourceBuffers: SourceBufferList;
  29. duration: number;
  30. readonly readyState: ReadyState;
  31. readonly sourceBuffers: SourceBufferList;
  32. addSourceBuffer(type: string): SourceBuffer;
  33. endOfStream(error?: EndOfStreamError): void;
  34. removeSourceBuffer(sourceBuffer: SourceBuffer): void;
  35. }
  36. declare var MediaSource: {
  37. prototype: MediaSource;
  38. new(): MediaSource;
  39. isTypeSupported(type: string): boolean;
  40. }