unresolved method captureStream on HTMLCanvasElement
Available in your entire project without creating a new interface:
declare global {
interface HTMLCanvasElement {
captureStream(frameRate?: number): MediaStream;
}
}
You can extend an exiting interface in TypeScript and cast your Element to the custom interface.
Example:
interface CanvasElement extends HTMLCanvasElement {
captureStream(frameRate?: number): MediaStream;
}
const myCanvas = <CanvasElement> document.createElement('canvas');
const myStream = myCanvas.captureStream();
According to MDN, it looks like the captureStream
method is still a working draft (as of June 2021), eventhough it is not implemented by all major browsers. That is probably why it is not yet part of the type definition for HTMLCanvasElement
.