내 HTML에 오디오 태그가 있고 그 안에 .wav가 들어 있습니다. Javascript에서는 오디오 태그를 선택하고 wav를 재생합니다. 키보드 키를 사용하여 트리거합니다. 예를 들어, 각 A 키를 누를 때마다 .wav를 재생/처음부터 소리를 재생합니다.)오디오가 자바 스크립트로 일시 중지되었을 때 '팝 노이즈'가납니다.
오디오 재생이 정상적으로 작동하며 일시 중지도. 그러나 재생 중 .wav를 직접 일시 중지하는 동안 팝 노이즈가 발생합니다.
var audio = document.getElementById(sound);
if (!isPlaying(audio)) {
audio.play(); // works
} else {
audio.pause(); // pops on this line; I checked with commenting below lines.
audio.currentTime = 0;
audio.play();
}
나는 this answer을 발견하고, 지금까지 나는 즉시 0으로 볼륨을 설정하기 때문에, 그것은 무슨 일이 일어나고 이해; 그러나 나는 나의 경우를 위해 그것을 이해할 수 없었다. 나는 또한 audio.muted = true
을 발견
좋은 접근하여 setInterval와 페이더를하지 않습니다 사용하고 볼륨을 일시 정지하기 전에를 사용하여 시도 (그냥 오디오를 재생하기 전에 audio.muted = false
을 사용),하지만이 또한 팝 노이즈를 제공 믿고
업데이트 :
필자는이 문제를 해결하기 위해 페이드 아웃을 사용해야한다고 생각합니다. 오디오를 즉시 페이드 아웃하는 방법이 있습니까?
에 현재 값에서
volume
속성을 애니메이션.animate()
을 사용할 수 있습니다 *이 왜 좋은 방법 아닌가요? –내가 말했던 것처럼 나는 확신하지 못한다. 나는 0.2 초 샷과 3 초의 오디오를 재생해야한다. 그래서 샘플 간격뿐만 아니라 간격을 설정하고 그에 따라 페이드 아웃을 트리거하면 3 초 및 0.2 초의 오디오에 대한 일반 코드를 가질 수 없습니다. 좋은 접근 방법이라면 명확하게 설명해 주시겠습니까? – senty