yyZa

The play() request was interrupted by a call to pause() ์ดํ‹€๊ฐ„์˜ ์‚ฝ์งˆ ๋ณธ๋ฌธ

๊ฐœ๋ฐœ์ผ์ง€

The play() request was interrupted by a call to pause() ์ดํ‹€๊ฐ„์˜ ์‚ฝ์งˆ

yyza 2024. 8. 26. 14:35
๋ฐ˜์‘ํ˜•

๐Ÿฅ‘์˜ค๋””์˜ค ์žฌ์ƒ ํƒ€์ž„๋ผ์ธ ๋งŒ๋“ค๊ธฐ

๋‚ด ํ”„๋กœ์ ํŠธ๋Š” ์˜ค๋””์˜ค url์„ ๊ฐ€์ ธ๋‹ค๊ฐ€ ํƒ€์ž„๋ผ์ธ์„ ๋งŒ๋“ค๊ณ  ๊ทธ ์•ˆ์— ์˜ค๋””์˜ค์˜ ์†์„ฑ๊ฐ’์ด ๋‹ด๊น€ div๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์„ ํ•˜์˜€๋‹ค.

div๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์†์„ฑ๊ฐ’์„ ๋ถˆ๋Ÿฌ์™€์„œ ์žฌ์ƒํ•˜๋Š”๊ฑด ์–ด๋ ต์ง€ ์•Š์•˜์ง€๋งŒ pause / seek / stop ์˜ ๊ณผ์ •์—์„œ pauseํ›„ currentTime์„ ์„ค์ •ํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ์„ค์ • ํ›„ ์žฌ์ƒ ์‹œ  "The play() request was interrupted by a call to pause()." ์ด ์—๋Ÿฌ๊ฐ€ ์ž๊พธ ๋–ณ๋‹ค. ์ง๋ณ€ํ•˜์ž๋ฉด pause์˜ ๋งˆ๋ฌด๋ฆฌ ์ „์— paly๋ฅผ ์‹คํ–‰ํ•œ๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ ... ๋‚œ ๊ทธ๋Ÿฌ์ง€ ์•Š์•˜๋‹ค ! 

 

๐Ÿฅ‘ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

1. ํ”„๋กœ๋ฏธ์Šค๋ฅผ ์‚ฌ์šฉํ•œ play, pause ์ œ์–ด

์ฒ˜์Œ์—๋Š” ํฌ๋กฌ์˜ ๊ฐœ๋ฐœ์ž ํฌ๋Ÿผ์— ์žˆ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ œ์–ด๋ฅผ ํ•ด๋ณด์•˜๋‹ค.

๋ชจ๋ฒ”์ ์ธ ๋ฐฉ๋ฒ•์ด์—ˆ์ง€๋งŒ ... ๋‚˜๋Š” ๋ถ„๋ช… Pause๋ฅผ ํ•œ ํ›„ play๋ฅผ ์ง„ํ–‰ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งž์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์ด์—ˆ๋‹ค.

https://developer.chrome.com/blog/play-request-was-interrupted?hl=ko

 

DOMException - play() ์š”์ฒญ์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.  |  Blog  |  Chrome for Developers

"DOMException - play() ์š”์ฒญ์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค"์—์„œ ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚ฌ๋‚˜์š”?

developer.chrome.com

 

2. ๋‘๋ฒˆ์งธ ๋ป˜์ง“ settimeout ์ด์šฉํ•˜๊ธฐ

๋ฌด์–ธ๊ฐ€ ๊ทธ๋ž˜๋„ ๋‚ด๊ฐ€ pause๋ฅผ ๋งˆ๋ฌด๋ฆฌ ์ง“์ง€ ์•Š๊ณ  play๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ play์—๋„ pause์—๋„ settimeout์œผ๋กœ ๋”œ๋ ˆ์ด๋ฅผ ์ค˜์„œ ์‹œ๋„ ํ•ด๋ณด์•˜๋Š”๋ฐ ์—ญ์‹œ๋‚˜ ๋ป˜์ง“...

 

3. ์„ธ๋ฒˆ์งธ ์˜์™ธ์˜ ๋‹จ์ˆœํ•œ ํ•ด๊ฒฐ

์ƒˆ๋กœ loadํ•˜๊ธฐ... ๋„ˆ๋ฌด๋‚˜ ๋‹จ์ˆœํžˆ ํ•ด๊ฒฐ์ด ๋˜์–ด๋ฒ„๋ ค์„œ ์ข€ ๋‹นํ™ฉ์Šค๋Ÿฝ๋‹ค ์ดํ‹€๋™์•ˆ ๊ณ ์ƒํ–ˆ๋Š”๋ฐ...

 

           mp3.pause();
           mp3 .load();
           mp3 .currentTime = calculatedTime;

 

๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋œ ์ด์œ ๋ฅผ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ mp3.load() ๋ฉ”์„œ๋“œ๊ฐ€ ์˜ค๋””์˜ค ์š”์†Œ์˜ ์ƒํƒœ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•จ์œผ๋กœ์จ ์˜ค๋””์˜ค์˜ ํ˜„์žฌ ์ƒํƒœ์™€ ํƒ€์ด๋ฐ ๊ด€๋ จ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. (์ •ํ™•ํžˆ๋Š” ๋ชจ๋ฆ„..)

๐Ÿฅ‘load() ๋ฉ”์„œ๋“œ์˜ ์—ญํ• 

  1. ์˜ค๋””์˜ค ์žฌ๋กœ๋”ฉ: load()๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์˜ค๋””์˜ค ์š”์†Œ๊ฐ€ ๋‹ค์‹œ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋ฏธ๋””์–ด ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ค์‹œ ์š”์ฒญํ•˜๊ณ , ๋ฏธ๋””์–ด์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์ฝ์–ด๋“ค์ž„.
  2. ์˜ค๋””์˜ค ์ƒํƒœ ์ดˆ๊ธฐํ™”: load()๋Š” ์˜ค๋””์˜ค์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ด์ „์˜ play(), pause() ์ƒํƒœ๊ฐ€ ๋ฆฌ์…‹๋˜๊ณ , ์žฌ์ƒ ์ƒํƒœ๊ฐ€ ์ดˆ๊ธฐํ™”.
  3. ์ค‘๋‹จ๋œ ๋™์ž‘ ํ•ด๊ฒฐ: ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ์˜ค๋””์˜ค ์š”์†Œ๊ฐ€ ํŠน์ • ์ƒํƒœ(์˜ˆ: ์žฌ์ƒ ์ค‘์ง€, ์ผ์‹œ ์ •์ง€ ๋“ฑ)์—์„œ ๋ฉˆ์ถฐ์žˆ๊ฑฐ๋‚˜, ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” play() ๋˜๋Š” pause() ์š”์ฒญ์ด ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ๋‹ค. load() ํ˜ธ์ถœ์„ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ์ƒํƒœ๋ฅผ ๋ฆฌ์…‹ํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋˜ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค?

๐Ÿฅ‘์™œ load()๋กœ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์„๊นŒ?

  1. ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฌธ์ œ: ๊ธฐ์กด ์ฝ”๋“œ์—์„œ pause()๋ฅผ ํ˜ธ์ถœํ•œ ํ›„ ๋ฐ”๋กœ currentTime์„ ์„ค์ •ํ•  ๋•Œ, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•„์ง pause() ์ฒ˜๋ฆฌ๋ฅผ ์™„๋ฃŒํ•˜์ง€ ์•Š์€ ์ƒํƒœ์ผ ์ˆ˜ ์žˆ๋‹ค. load()๋ฅผ ํ˜ธ์ถœํ•จ์œผ๋กœ์จ ์˜ค๋””์˜ค ์ƒํƒœ๋ฅผ ์™„์ „ํžˆ ์ดˆ๊ธฐํ™”ํ•˜๊ณ , ๊ทธ ํ›„ currentTime์„ ์„ค์ •ํ•˜๋ฉด ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋กœ ์ธํ•œ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. ๋ธŒ๋ผ์šฐ์ €์˜ ์บ์‹ฑ ๋ฌธ์ œ: ์ผ๋ถ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์˜ค๋””์˜ค ํŒŒ์ผ์ด ๋กœ๋“œ๋œ ํ›„ ์บ์‹ฑ๋œ ์ƒํƒœ์—์„œ currentTime์„ ์กฐ์ •ํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. load() ํ˜ธ์ถœ์€ ์ด๋Ÿฌํ•œ ์บ์‹œ๋ฅผ ๋ฌด์‹œํ•˜๊ณ , ๋ฏธ๋””์–ด๋ฅผ ์žฌ๋กœ๋”ฉํ•˜๊ฒŒ ํ•œ๋‹ค.
  3. ์žฌ์ƒ ์ƒํƒœ์˜ ๋ถˆ์ผ์น˜: ๋•Œ๋กœ๋Š” pause()์™€ currentTime ์„ค์ •์ด ์ •ํ™•ํ•œ ์ˆœ์„œ๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์œผ๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ƒํƒœ๋ฅผ ํ˜ผ๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. load()๋ฅผ ํ†ตํ•ด ์ด ์ƒํƒœ๋ฅผ ๊ฐ•์ œ๋กœ ๋ฆฌ์…‹ํ•˜์—ฌ ์žฌ์ƒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿฅ‘๊ฒฐ๋ก 

mp3.load()๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ์˜ค๋””์˜ค ์ƒํƒœ๋ฅผ ๊ฐ•์ œ๋กœ ์ดˆ๊ธฐํ™”ํ•œ ๋•๋ถ„์—, pause()์™€ currentTime ์„ค์ • ์‚ฌ์ด์—์„œ ๋ฐœ์ƒํ•˜๋˜ ์ถฉ๋Œ์ด๋‚˜ ๋™๊ธฐํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ์ด ๋ฐฉ๋ฒ•์ด ํšจ๊ณผ์ ์ด๊ธด ํ•˜์ง€๋งŒ, load() ๋ฉ”์„œ๋“œ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ค์‹œ ๋กœ๋“œํ•˜๋ฏ€๋กœ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ž์ฃผ ํ˜ธ์ถœํ•˜์ง€ ์•Š๋„๋ก ์œ ์˜!

๋ฐ˜์‘ํ˜•