#angular #typescript #html5-audio
#angular #typescript #html5-аудио
Вопрос:
Я хотел бы иметь возможность создать функцию для остановки или приостановки HTML-кода из моего файла component.ts. Я не вижу никаких встроенных методов для приостановки звука с помощью document.getelement
<audio controls id="audio-file" >
<source src="sample.wav" type="audio/wav">
</audio>
import { Component, OnInit, Inject } from '@angular/core';
import { DOCUMENT } from "@angular/platform-browser";
import { WINDOW } from "../../services/window.service";
@Component({
selector: 'app-audio',
templateUrl: './audio.component.html',
styleUrls: ['./audio.component.css']
})
export class AudioComponent implements OnInit {
private audio = this.document.getElementById("audio-file")
constructor(
@Inject(DOCUMENT) private document: Document,
@Inject(WINDOW) private window: Window
) { }
ngOnInit() {
}
stopAudio(){
this.document.getElementById('audio-file')
}
}
Ответ №1:
Вызовите .pause()
аудиоэлемент.
stopAudio() {
this.audio.pause();
}
https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement
Комментарии:
1. Проверьте метод, проверьте,
private audio = this.document.getElementById("audio-file")
правильно ли настроен элемент, возможно, вам нужно переместить его внутрьngOnInit
.2. Спасибо! объявление private audio; вверху и установка его при инициализации on исправили мою проблему