typescript - Angular 2 lyd vil ikke slutte å fungere ved å bytte komponent
Jeg vil spille av lyd med hjelp av denne koden, og det fungerer bra
ngOnInit () {
const a = new Audio();
a.src = '../../assets/hello.wav';
a.load();
// auto-start
a.play();
}
Men når jeg klikker på Neste-knappen, som tar meg til neste side (så jeg bytter komponenten min med hjelp av ruting), vil ikke lyden stoppe (den vil ikke brytes) og musikken fra lyden spiller på neste side også. Hva bør jeg legge til i koden min for å gjøre det mulig at lyden stopper når jeg bytter side?
Svar #1
du skal definere audio som et felt i komponenten din (for å få tilgang til det i ngOnDestroy) og ødelegge det i ngOnDestroy.
audio: any;
ngOnInit () {
this.audio = new Audio();
this.audio.src = '../../assets/hello.wav';
this.audio.load();
// auto-start
this.audio.play();
}
ngOnDestroy() {
// destroy audio here
if(this.audio) {
this.audio.pause();
this.audio = null;
}
}
