1
0
mirror of https://github.com/videojs/video.js.git synced 2025-02-10 12:08:14 +02:00

docs: add an example Angular integration (#6390)

This commit is contained in:
Margaux 2020-03-17 06:29:00 +09:00 committed by GitHub
parent 0a7aba35ce
commit fce3ad23b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

65
docs/guides/angular.md Normal file
View File

@ -0,0 +1,65 @@
# Video.js and Angular integration
Here's a basic Angular player implementation.
It just instantiates the Video.js player on `OnInit` and destroys it on `OnDestroy`.
```ts
// vjs-player.component.ts
import { Component, ElementRef, Input, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
import videojs from 'video.js';
@Component({
selector: 'app-vjs-player',
template: `
<video #target class="video-js" controls muted playsinline preload="none"></video>
`,
styleUrls: [
'./vjs-player.component.css'
],
encapsulation: ViewEncapsulation.None,
})
export class VjsPlayerComponent implements OnInit, OnDestroy {
@ViewChild('target') target: ElementRef;
// see options: https://github.com/videojs/video.js/blob/master/docs/guides/options.md
@Input() options: {
fluid: boolean,
aspectRatio: string,
autoplay: boolean,
sources: {
src: string,
type: string,
}[],
};
player: videojs.Player;
constructor(
private elementRef: ElementRef,
) { }
ngOnInit() {
// instantiate Video.js
this.player = videojs(this.target.nativeElement, this.options, function onPlayerReady() {
console.log('onPlayerReady', this);
});
}
ngOnDestroy() {
// destroy player
if (this.player) {
this.player.dispose();
}
}
}
```
Don't forget to include the Video.js CSS, located at `video.js/dist/video-js.css`.
```css
/* vjs-player.component.css */
@import '~video.js/dist/video-js.css';
```
You can then use it like this.
```html
<app-vjs-player [options]="{ autoplay: true, controls: true, sources: [{ src: '/path/to/video.mp4', type: 'video/mp4' }]}"></app-vjs-player>
```