我的画布元素和方法有奇怪的情况captureStream
。根据文档 HTMLCanvasElement 有一个方法captureStream
。然而我的 Angular6 应用程序声称没有这样的方法。
所以这段代码将不起作用:
let canvas: HTMLCanvasElement;
canvas = document.createElement('canvas');
let stream = canvas.captureStream(20);
它在第三行失败。
这段代码运行没有任何错误:
let canvas: any;
canvas = document.createElement('canvas');
let stream = canvas.captureStream(20);
这怎么可能?我 100% 确定 HTMLCanvasElement 有此方法,并且 document.createElement('canvas') 返回 HTMLCanvasElement。
您可以扩展 TypeScript 中的现有接口并将您的元素转换为自定义接口。
Example:
interface CanvasElement extends HTMLCanvasElement {
captureStream(frameRate?: number): MediaStream;
}
const myCanvas = <CanvasElement> document.createElement('canvas');
const myStream = myCanvas.captureStream();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)