๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽ iOS

AVAudioPlayer

by hyebin (Helia) 2023. 1. 3.
๋ฐ˜์‘ํ˜•

AVAudioPlayer

  • ํŒŒ์ผ ๋˜๋Š” ๋ฒ„ํผ์˜ ๋ชจ๋“  ๊ตฌ๊ฐ„์— ๋Œ€ํ•ด ์˜ค๋””์˜ค ์žฌ์ƒ
  • ์žฌ์ƒ๋˜๋Š” ์˜ค๋””์˜ค์˜ ๋ณผ๋ฅจ, ํŒจ๋‹, ์†๋„ ๋ฐ ๋ฐ˜๋ณต ๋™์ž‘ ์ œ์–ด
  • ์žฌ์ƒ ์ˆ˜์ค€ ์ธก์ • ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šค
  • ์—ฌ๋Ÿฌ ํ”Œ๋ ˆ์ด์–ด์˜ ์žฌ์ƒ์„ ๋™๊ธฐํ™”ํ•˜์—ฌ ์—ฌ๋Ÿฌ ์‚ฌ์šด๋“œ๋ฅผ ๋™์‹œ์— ์žฌ์ƒ

 

1. ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ

Audio Player๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ•œ๋‹ค.

Label์„ ์ถ”๊ฐ€ํ•˜์—ฌ title์„ Audio Player๋กœ ์„ค์ •ํ•œ๋‹ค,

Buttton์„ 3๊ฐœ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ฐ๊ฐ Play, Pause, Stop์œผ๋กœ ์ด๋ฆ„์„ ์„ค์ •ํ•œ๋‹ค.

 

2. ์•„์›ƒ๋ › ๋ณ€์ˆ˜, ์•ก์…˜ํ•จ์ˆ˜ ์„ ์–ธ

3๊ฐœ์˜ ๋ฒ„ํŠผ์— ๋Œ€ํ•œ ์•„์›ƒ๋ › ๋ณ€์ˆ˜์™€ ์•ก์…˜ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

 

3. AVAudioPlayer ์„ค์ •

 ์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•˜๊ธฐ ์œ„ํ•ด ์ดˆ๊ธฐ ์„ค์ •์„ ํ•œ๋‹ค.

AVFoundation์„ import ํ•œ ํ›„, AVAudioPlayerDelegate ์„ ์–ธ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค.

์žฌ์ƒํ•  ์˜ค๋””์˜ค ํŒŒ์ผ์„ ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•œ ํ›„, viewDidLoad์—์„œ audioFile์— ์ €์žฅํ•œ๋‹ค.

 

์˜ค๋””์˜ค ์žฌ์ƒ์„ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜ initPlay()๋ฅผ ์„ ์–ธํ•œ ํ›„, audioFile์„ URL๋กœ ํ•˜๋Š” audio Player ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

์ด๋•Œ ์˜ค๋””์˜ค ํŒŒ์ผ์ด ์—†์„ ๋•Œ์— ๋Œ€๋น„ํ•˜์—ฌ do-try-catch๋ฌธ์„ ์‚ฌ์šฉํ•ด ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ์˜ค๋ฅ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

audioPlayer์˜ ๋ธ๋ฆฌ๊ฒŒ์ดํŠธ์™€ ๋ณผ๋ฅจ์„ ์„ค์ •ํ•œ๋‹ค.

 

4. ๋ฒ„ํŠผ ๋™์ž‘ ์ฝ”๋“œ ์ž‘์„ฑ

๊ฐ ๋ฒ„ํŠผ์˜ ํ™œ์„ฑํ™” ์ƒํƒœ๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ setButtonํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

๊ฐ ๋ฒ„ํŠผ์˜ ์•ก์…˜ํ•จ์ˆ˜์— ํ•ด๋‹นํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ ํ›„ setButton ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด ๋ฒ„ํŠผ์˜ ํ™œ์„ฑํ™” ์ƒํƒœ๋ฅผ ์„ค์ •ํ•œ๋‹ค.

 

5. ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ ํ™•์ธ

๋ฐ˜์‘ํ˜•

'๐ŸŽ iOS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์นด๋ฉ”๋ผ์™€ ํฌํ†  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์•ฑ  (0) 2023.01.06
Movie Player  (0) 2023.01.04
Table View Controller  (0) 2022.12.28
Navigation Controller  (0) 2022.12.28
TabBar Controller  (0) 2022.12.20