在Angular 2中注入内置JavaScript类

时间:2017-01-02 18:49:29

标签: javascript angular web-audio angular2-services

我正在尝试创建一个内置于JavaScript中的类,可以在Angular 2应用程序中注入。对于我的特定用例,我正在尝试注入AudioContext的实例。我已尝试使用以下4种方式注射它,但它们都不起作用

@NgModule({
    providers: [
        AudioContext
        //{provide: AudioContext, useClass: AudioContext}
        //{provide: AudioContext, useValue: new AudioContext()}
        //{provide: AudioContext, useFactory: () => new AudioContext()}
    ]
})

export class AppModule {

}

我收到错误

  

在静态解析符号值时遇到错误。不能   解析类型AudioContext(原始.ts文件中的位置13:39)

如何在我的应用程序中创建AudioContext可注入的实例而不将其包装在自定义服务中?

1 个答案:

答案 0 :(得分:0)

全局窗口对象上提供音频上下文,将窗口对象注入提供程序。

var AudioContext = window.AudioContext || window.webkitAudioContext;

Angular2 - How to inject window into an angular2 service

然后您可以通过注入的Window对象访问AudioContext。