angular - 如何在 Angular 中使用 MediaElement

标签 angular typescript mediaelement.js

我正在尝试在 <video> 中渲染 YouTube 视频标签。

我跑npm install mediaelement

MediaComponent.html:

<video width="640" height="360" id="mediaPlayer" #mediaPlayer preload="none">
    <source type="video/youtube" src="http://www.youtube.com/watch?v=nOEw9iiopwI" />
</video>

MediaComponent.ts

import * as MediaElementPlayer from 'mediaelement'; // How to import it?

@Component({
  selector: 'app-media',
  templateUrl: './media.component.html',
  styleUrls: ['./media.component.css']
})

export class MediaComponent implements OnInit, AfterViewInit, OnDestroy {

  //...
  @ViewChild('mediaPlayer') mediaPlayerElement: ElementRef;
  public mediaPlayer;


  ngAfterViewInit() {
    //..
    this.loadMediaPlayer();
  }

  loadMediaPlayer() {
    this.mediaPlayer = new  
            MediaElementPlayer(this.mediaPlayerElement.nativeElement);
  }
}

控制台很清晰。但页面上没有任何反应。我认为 import 语句或调用构造函数有问题

如何使用 MediaElementJs与 Angular ?

注意:the official page 上有 ReactJs 文档,这很有趣。但对于 Angular 来说,什么都没有。

最佳答案

您应该在 main.ts 中添加此行。

import 'mediaelement';

然后您应该将其与以下声明一起使用。

declare var MediaElementPlayer;

关于angular - 如何在 Angular 中使用 MediaElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56301380/

相关文章:

javascript - json 响应 Angular 2 中的错误字符

node.js - Typescript 变量名称冲突

jquery - 使用 jquery 和 typescript

javascript - mediaelementjs ie9 全屏事件

javascript - 通过 jquery 点击播放 mediaelement.js 音频

javascript - 使用 Prime NG 和 Angular CLI 时样式 Assets 的正确顺序是什么

javascript - 使用 withLatestFrom 的效果调用它甚至 ofType(action) 没有被触发

json - AoT + Webpack + json动态require

javascript - Typescript 在定义文件中找不到方法

javascript - mediaelement.js 与 Phonegap 兼容吗?