dev@31: import {Component} from '@angular/core'; dev@37: import {AudioPlayerService} from "./services/audio-player/audio-player.service"; angular-cli@0: angular-cli@0: @Component({ angular-cli@0: selector: 'app-root', angular-cli@0: templateUrl: './app.component.html', angular-cli@0: styleUrls: ['./app.component.css'] angular-cli@0: }) angular-cli@0: export class AppComponent { dev@31: audioBuffer: AudioBuffer; // TODO consider revising dev@1: dev@31: constructor(private audioService: AudioPlayerService) {} dev@16: dev@31: onFileOpened(file: File) { dev@31: const reader: FileReader = new FileReader(); dev@31: const mimeType = file.type; dev@31: reader.onload = (event: any) => { dev@31: this.audioService.loadAudioFromUrl( dev@31: URL.createObjectURL(new Blob([event.target.result], {type: mimeType})) dev@31: ); dev@31: // TODO use a rxjs/Subject instead? dev@31: this.audioService.decodeAudioData(event.target.result).then(audioBuffer => { dev@31: this.audioBuffer = audioBuffer; dev@31: }); dev@31: }; dev@31: reader.readAsArrayBuffer(file); dev@16: } angular-cli@0: }