首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MediaRecorder应用程序中使用Angular2对象?

如何在MediaRecorder应用程序中使用Angular2对象?
EN

Stack Overflow用户
提问于 2016-10-14 20:53:29
回答 7查看 20.1K关注 0票数 24

我正在构建一个小型Angular2应用程序,我试图使用一个MediaRecorder对象(https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder),如下所示:

代码语言:javascript
复制
var mediaRecorder = new MediaRecorder(stream);

然而,TypeScript告诉我它找不到名字“MediaRecorder”。我猜这是由于我的TypeScript配置直接从QuickStart指南(https://angular.io/docs/ts/latest/cookbook/visual-studio-2015.html)中提取出来的。配置如下所示:

代码语言:javascript
复制
{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true
  },
  "compileOnSave": true
}

我在网络上看到了各种各样的配置,包括“目标值: es6”或"lib: es6“,还有一些带有”公共“模块的配置,但我对此并不熟悉,所以我不太清楚到底是怎么回事。当我尝试更新这些值时,我会得到更多的错误。

有人知道我怎样才能让这件事起作用吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2016-10-18 15:32:13

您的编译器对MediaRecorder对象一无所知。

只需按以下方式声明:

代码语言:javascript
复制
declare var MediaRecorder: any;
票数 12
EN

Stack Overflow用户

发布于 2018-11-19 20:20:23

现在您可以更容易地为MediaRecorder添加类型,只需通过npm安装它们。

代码语言:javascript
复制
npm install -D @types/dom-mediacapture-record

这将从DefinitelyTyped加载最新的类型定义。它们将自动工作,不需要额外的步骤。如果您对类型有任何改进,请随意将它们贡献到DefinitelyTyped中。

票数 79
EN

Stack Overflow用户

发布于 2019-01-11 02:04:44

我在这个页面上遇到了同样的问题,并安装了dom-mediacapture-record模块,但仍然存在问题。拔了很多头发之后,我发现了为什么MediaRecorder还没被找到。

我的应用程序有一个自动生成的"tsconfig.app.json“文件,其行如下:

代码语言:javascript
复制
"compilerOptions": {
  "types": ["node"]
  ... }

我意识到“类型”阻止了包含dom-mediacapture-record模块!应改为:

代码语言:javascript
复制
"types": ["node", "dom-mediacapture-record"]

我想我应该把这个小道消息传过去,以免别人被几个小时拉着头发。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40051818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档