D.evelop/MarkUp

[HTML]μ˜€λ””μ˜€ μž¬μƒ μ‹œ μž¬μƒ 쀑인 λ‹€λ₯Έ μ˜€λ””μ˜€ 정지 (HTML Audio DOM)

Danne 2023. 12. 1. 19:21

 

πŸ”Š  μ˜€λ””μ˜€ μž¬μƒ

let track = new Audio();
let flag = 0; // flagλ₯Ό μ‚¬μš©ν•˜μ—¬ μž¬μƒ 쀑인 μ˜€λ””μ˜€ 있으면 정지

const playVoice = (audioSrc) =>{
	track.src = audioSrc;
	console.log(track.paused)

	if(flag === 0){
		flag = 1;
		playAudio();
	}else{
		flag = 0;
		stopAudio()
	}	
}

const playAudio = () => {
	track.play();
	track.paused = false
	iconAnimation("play");
}

const stopAudio = () => {
	track.pause();
	track.currentTime = 0;
	iconAnimation("stop");
}

track.addEventListener('ended', function() {
  	iconAnimation();
});

const iconVoice = document.querySelectorAll('.icon_voice');

const iconAnimation = (status) =>{
	iconVoice.forEach(function(icon){
		if(status === "play"){
			icon.classList.add('play');
		}else{
			icon.classList.remove('play');	  
		}
	})
}

 

 

 

new Audio(filePath) : μ˜€λ””μ˜€ μƒμ„±μž

 new Audio(url)

 

 

HTMLAudioElement: Audio() constructor - Web APIs | MDN

The Audio() constructor creates and returns a new HTMLAudioElement which can be either attached to a document for the user to interact with and/or listen to, or can be used offscreen to manage and play audio.

developer.mozilla.org

 

audioObject.play()  : μ˜€λ””μ˜€ μž¬μƒ λ©”μ„œλ“œ

audioObject.pause()  : μ˜€λ””μ˜€ 정지 λ©”μ„œλ“œ

const playAudio = () => {
	track.play(); // μ˜€λ””μ˜€ ν”Œλ ˆμ΄
	track.paused = false; // "정지"속성 κ°’ false
	iconAnimation("play"); // ν”Œλ ˆμ΄ μƒνƒœλ‘œ μŠ€νƒ€μΌ λ³€κ²½ν•˜λŠ” ν•¨μˆ˜
}

const stopAudio = () => {
	track.pause(); // μ˜€λ””μ˜€μ •μ§€
	track.currentTime = 0; // μ˜€λ””μ˜€ μž¬μƒμ‹œκ°„μ„ 0으둜 λ³€κ²½
	iconAnimation("stop"); // 정지 μƒνƒœλ‘œ μŠ€νƒ€μΌ λ³€κ²½ν•˜λŠ” ν•¨μˆ˜
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

λ°˜μ‘ν˜•