Javascript createObjectURL.URL对于MediaStream失败

时间:2019-07-18 08:41:01

标签: javascript electron

我正在尝试创建一个电子应用程序,该应用程序根据以下指南进行屏幕截图:

https://ourcodeworld.com/articles/read/280/creating-screenshots-of-your-app-or-the-screen-in-electron-framework

在Electron的开发人员工具控制台中执行时遇到错误:

Uncaught TypeError: Failed to execute 'createObjectURL' on 'URL': No function was found that matched the signature provided.

当我console.log video.src = URL.createObjectURL(stream);中传递的流对象时,我看到它的类型为MediaStream

根据https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURLcreateObjectURL可以接受“一个File,Blob或MediaSource对象来为其创建对象URL。”。如何将要获取的MediaStream转换为MediaSource

1 个答案:

答案 0 :(得分:1)

直接将流附加到srcObject属性,而不使用URL.createObjectURL函数。

执行以下操作:

video.srcObject = stream; // new implementation

代替此:

video.src = URL.createObjectURL(stream); // old implementation

您可以在Using object URLs for media streams部分中所引用的文档页面中对此进行推荐。