iOS개발하기 #30. 음악재생 (AVAudioPlayer)

# 오늘의 주제

1. 음악재생하기 AVAudioPlayer

벌써 서른 번째 시간입니다. 꺄~
지난 번에는 뭘 했었죠?
아~ 경고창 ㅎㅎ
네~ 경고창~ 엄청 많이 쓰이지는 않지만 감초같은 존재죠?ㅎ
우리가 화면에 보이는 것들 중 많은 녀석들은 delegate를 사용한다고 보시면 됩니다...ㅎ
물론 화면에 안보이는 녀석들도 종종 있지만요 ㅎ
뭐 일단 요번에는 Cstlex님께서 요청하신 특정 음악파일 재생에 대해서 알아보려고 합니다.
많이 기다리셨죠?ㅎ
자, 시작해 봅시다~

저에겐 큰 힘이 됩니다 고맙습니다~ㅎ

## 음악 재생하기
자, 우리 저번 시간까지 사용하던 프로젝트의 프로젝트 설정 화면으로 들어가 봅시다.

우리가 음악을 재생하기 위해선 프레임워크 하나가 필요합니다.
그래서 프레임 워크를 하나 추가할 거예요 ㅎ
아, 물론 음악을 재생하는 방법은 여러가지가 있습니다만, 오늘은 AVAudioPlayer를 사용해 보도록 할게요 ㅎ

AVFoundation.framework를 추가해 줍니다~
그런데 우리가 여기에서 재생해 줄 수 있는 음악 파일 포멧은 뭐가 있을까요?

iOS Developer Library : Multimedia Programming Guide
에 상세히 나와있네요 ㅎ
개발문서는 우리의 친구잖아요 ㅎㅎㅎ 보고 오세요^^
아래 표에는 재생 가능한 오디오 포멧,

여기는 녹음 가능한 오디오 포멧이 나와있네요~^^

그럼 어떤어떤 포멧이 가능한지 알았으니, 음원 파일 하나를 찾아서 준비해 주세요 ㅎ
그리고 Finder(탐색기)에서 음악파일을 쭈욱 끌어서 네비게이션 영역(프로젝트 파일들이 쭈욱 나열되어 있는 곳, 화면에서 좌측)으로 가져옵니다.
그러면 아래처럼 가져오기 옵션들이 나오는데요 아래와 같이 꼼꼼하게 체크 해주고 Finish-!

그럼 이렇게 음악파일도 들어와 있고, 프레임워크도 들어와 있는 상태가 되었겠죠?ㅎ

그리고 ViewController.xib로 와서 음악 플레이를 위하여 버튼들을 만들어줘 봅시다.
버튼을 만들어 주고 그림처럼 Action을 연결해 줍니다. 나머지 버튼들은 아래 설명이 있어요~

나머지 버튼들은 이미 생성되어 있는 메서드로 연결해 줍니다! 쭉쭉~ 네개 다~

그리고 여러개를 하나의 메서드에 연결해 주었으니 태그가 필요하겠죠?ㅎ
(이럴 때 enum을 사용하면 참 편리하겠죠?ㅎ)
여하든 태그를 만들어 줍니다. play버튼에는 100으로~

pause 버튼에는 101로~ stop은 102, reset 은 103으로 넣어줬어요~ㅎㅎ

자, 그리고 이제 본격적으로 코드를 깨작깨작거려 봅시다~
헤더 ViewController.h로 옵니다.
우리가 넣어준 프레임워크에서 헤더파일을 불러와 주구요. 오디오 플레이어를 선언해 줍니다.

그리고 구현파일 ViewController.m으로 이동해서 이렇게 코드를 작성해 주세요 ㅎㅎ 자세한 설명은 코드에~^^

자 실행 해 봅시다~
지금은 어떤 버튼을 누르던간에 음악이 나와야 하는 상태일거예요 ㅎㅎㅎ 음악이 제대로 나오나요?
그렇다면 다음으로 넘어갑니다 ㅎㅎ

자, 버튼들의 동작을 구분해서 audioControlButtonClick: 메서드를 다시 작성해 줍니다.

자, 네 버튼 모두 잘 동작하나요?

어...? 그런데 음악파일이 조금 용량이 크면 처음 실행 하고나서 Play를 누르면 잠깐 화면이 멍~ 하다가 음악이 실행되는 것 같아요~
화면이 멈춰서 렉걸린 것 같아요 ㅠㅠㅠ 어쩌면 좋죠...?ㅠㅠ
그건... 다음 시간에 알아보도록 합시다 ㅎㅎㅎ
뿅!
by yagom

p.s 제 포스팅을 RSS 피드로 받아보실 수 있습니다.
RSS Feed 받기   

 


댓글 남기기

Close