src/app/app.component.html
<mat-sidenav-container class="sidenav-container">
<mat-sidenav #sidenav mode="side" class="sidenav">
<mat-toolbar color="primary">
<span class="title">
Settings
</span>
</mat-toolbar>
<div class="content options">
<mat-form-field class="item-margin" [color]="color">
<input matInput type="url" [(ngModel)]="src" placeholder="Source" />
<mat-hint align="end"
>Download button will only work for
<a href="https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy" target="_blank">
same-origin URLs
</a>
</mat-hint>
</mat-form-field>
<mat-form-field class="item-margin" [color]="color">
<input matInput type="url" [(ngModel)]="poster" placeholder="Poster" />
</mat-form-field>
<mat-form-field class="item-margin" [color]="color">
<input matInput type="text" [(ngModel)]="title" placeholder="Title" />
</mat-form-field>
<mat-form-field class="item-margin" [color]="color">
<input matInput type="text" [(ngModel)]="currentTime" placeholder="Current Time" />
</mat-form-field>
<div class="item-section">
<div class="item-margin">Autoplay:</div>
<mat-slide-toggle [(ngModel)]="autoplay" (change)="vid.load()" [color]="color"></mat-slide-toggle>
</div>
<div class="item-section">
<div class="item-margin">Preload:</div>
<mat-slide-toggle [(ngModel)]="preload" (change)="vid.load()" [color]="color"></mat-slide-toggle>
</div>
<div class="item-section">
<div class="item-margin">Loop:</div>
<mat-slide-toggle [(ngModel)]="loop" [color]="color"></mat-slide-toggle>
</div>
<div class="item-section">
<div class="item-margin">Muted:</div>
<mat-slide-toggle [(ngModel)]="muted" [color]="color"></mat-slide-toggle>
</div>
<div class="item-section">
<div class="item-margin">Quality:</div>
<mat-slide-toggle [(ngModel)]="quality" [color]="color"></mat-slide-toggle>
</div>
<div class="item-section">
<div class="item-margin">Download:</div>
<mat-slide-toggle [(ngModel)]="download" [color]="color"></mat-slide-toggle>
</div>
<div class="item-section">
<div class="item-margin">Fullscreen:</div>
<mat-slide-toggle [(ngModel)]="fullscreen" [color]="color"></mat-slide-toggle>
</div>
<div class="item-section">
<div class="item-margin">Plays Inline:</div>
<mat-slide-toggle [(ngModel)]="playsinline" [color]="color"></mat-slide-toggle>
</div>
<div class="item-section">
<div class="item-margin">Frame-by-Frame:</div>
<mat-slide-toggle [(ngModel)]="showFrameByFrame" [color]="color"></mat-slide-toggle>
</div>
<div class="item-section">
<div class="item-margin">Keyboard:</div>
<mat-slide-toggle [(ngModel)]="keyboard" [color]="color"></mat-slide-toggle>
</div>
<div class="item-section">
<div class="item-margin">Overlay:</div>
<mat-radio-group [(ngModel)]="overlay">
<mat-radio-button class="item-margin" [value]="null" [color]="color">
Default
</mat-radio-button>
<mat-radio-button class="item-margin" [value]="false" [color]="color">
Off
</mat-radio-button>
<mat-radio-button class="item-margin" [value]="true" [color]="color">
On
</mat-radio-button>
</mat-radio-group>
</div>
<div class="item-section">
<div class="item-margin">Color:</div>
<mat-radio-group [(ngModel)]="color">
<mat-radio-button class="item-margin" value="primary" [color]="color">
Primary
</mat-radio-button>
<mat-radio-button class="item-margin" value="accent" [color]="color">
Accent
</mat-radio-button>
<mat-radio-button class="item-margin" value="warn" [color]="color">
Warn
</mat-radio-button>
</mat-radio-group>
</div>
<div class="item-section">
<div class="item-margin">Spinner:</div>
<mat-radio-group [(ngModel)]="spinner">
<mat-radio-button class="item-margin" value="spin" [color]="color">
Spin
</mat-radio-button>
<mat-radio-button class="item-margin" value="dot" [color]="color">
Dot
</mat-radio-button>
<mat-radio-button class="item-margin" value="split-ring" [color]="color">
Split Ring
</mat-radio-button>
<mat-radio-button class="item-margin" value="hourglass" [color]="color">
Hourglass
</mat-radio-button>
</mat-radio-group>
</div>
<div class="item-section">
<div class="item-margin">CSS Examples:</div>
<mat-radio-group [(ngModel)]="ngclass">
<mat-radio-button class="item-margin" value="mat-video-responsive" [color]="color">
Responsive
</mat-radio-button>
<mat-radio-button class="item-margin" value="mat-video-fixed" [color]="color">
Fixed
</mat-radio-button>
</mat-radio-group>
</div>
</div>
<div class="mat-toolbar mat-primary mat-toolbar-single-row footer">
<div class="badges">
<a href="https://badge.fury.io/js/mat-video" target="_blank">
<img alt="npm version" src="https://badge.fury.io/js/mat-video.svg" />
</a>
<a href="https://travis-ci.org/nkoehler/mat-video" target="_blank">
<img alt="Build Status" src="https://travis-ci.org/nkoehler/mat-video.svg?branch=master" />
</a>
<a href="https://codeclimate.com/github/nkoehler/mat-video/" target="_blank">
<img alt="Maintainability" src="https://api.codeclimate.com/v1/badges/46fb1a751d60d0f8b316/maintainability" />
</a>
</div>
</div>
</mat-sidenav>
<mat-sidenav-content>
<mat-toolbar color="primary">
<button mat-icon-button (click)="sidenav.toggle()" matTooltip="Settings">
<mat-icon>settings</mat-icon>
</button>
<span class="title"> <span class="name">mat-video</span> for Angular {{ version }} </span>
<a mat-icon-button href="https://github.com/nkoehler/mat-video" class="github" matTooltip="GitHub">
<svg height="32" viewBox="0 0 16 16" version="1.1" width="32">
<path
fill-rule="evenodd"
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"
></path>
</svg>
</a>
</mat-toolbar>
<div class="content video">
<mat-video
#vid
[ngClass]="ngclass"
[src]="src"
[title]="title"
[autoplay]="autoplay"
[preload]="preload"
[loop]="loop"
[fullscreen]="fullscreen"
[download]="download"
[quality]="quality"
[keyboard]="keyboard"
[color]="color"
[spinner]="spinner"
[poster]="poster"
[overlay]="overlay"
[(muted)]="muted"
[playsinline]="playsinline"
[showFrameByFrame]="showFrameByFrame"
[(time)]="currentTime"
>
</mat-video>
</div>
<div class="mat-toolbar mat-primary mat-toolbar-single-row footer">
<div class="version">Version {{ appversion }}</div>
<div class="copyright">
Nicholas Koehler
<mat-icon class="icon">copyright</mat-icon> 2019-2020
</div>
<div class="license">
MIT License
</div>
</div>
</mat-sidenav-content>
</mat-sidenav-container>