首页 > 解决方案 > 是什么导致无法执行“createObjectURL”错误?

问题描述

我正在尝试使用笔记本电脑相机拍摄快照。

过去可以完美运行,但现在我的控制台出现错误:

错误错误:未捕获(承诺中):TypeError:无法在“URL”上执行“createObjectURL”:未找到与提供的签名匹配的函数。

这是我的代码(component.ts):

public ngAfterViewInit() {
    if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
        navigator.mediaDevices.getUserMedia({ video: true }).then(stream => {
            this.video.nativeElement.src = window.URL.createObjectURL(stream);
            this.video.nativeElement.play();
        });
    }
}

标签: angular

解决方案


URL.createObjectURL() 方法已从 MediaStream 接口中删除。此方法已在 2013 年弃用,并通过将流分配给 HTMLMediaElement.srcObject 来取代。旧方法已被删除,因为它不太安全,需要调用 URL.revokeOjbectURL() 来结束流。其他用户代理已弃用 (Firefox) 或删除 (Safari) 此功能。

如需更多信息,请参阅此处


推荐阅读