개발중인 게임에 효과음이 필요하여 관련소스를 검색해 보니 OpenAL에 대한 자료가 많이 나오더군요.
OpenAL은 오픈API인 3D Sound Library이며 Loki Software라는 곳에서 개발하였으나 현재, 이회사는 없어지고 Creative와 Apple이 관리하고 있다고 합니다. Apple이 관리하는 오픈소스이기때문인지 XCode설치시 IPhone용 라이브러리에 OpenAL이 포함되어 있음으로 따로 찾으실 필요는 없습니다.
OpenAL을 직접 이용하셔도 괜찮지만, cocos2d에서는 더 간단하게 사용할수 있도록 CocosDenshin이라는 이름의framework가 준비되어 있습니다. 특별한 효과가 필요없이 단순 재생만 할 경우, 아래의 코드만으로 간단히 구현할수 있습니다.
//"cocos2d.h"에 import되어 있지 않음으로 별도의 import 선언이 필요합니다.
#import "SimpleAudioEngine.h"
//효과음 재생
[[SimpleAudioEngine sharedEngine] playEffect:@"effect1.m4a"];
//배경음악재생
[[SimpleAudioEngine sharedEngine] playBackgroundMusic:@"backgroundMusic.m4a"];
//배경음악재생 중지
[[SimpleAudioEngine sharedEngine] pauseBackgroundMusic];
포맷은 기본적으로 "wav", "mp3"을 지원하는 이외에 "m4a"를 지원하고 있습니다. 아이폰에 기본 설치된 음성메모App에서 녹음할 경우, m4a로 파일이 생성됩니다. 필요한 효과음을 직접 음성메모로 녹음한 후, 이를 메일첨부를 이용하여 PC로 전송하여 바로 이용하니 대단히 편리하였습니다. (효과음 구현으로 일정에서 하루를 잡았었는데 허무할 정도로 빨리 끝나버렸습니다. - 덕분에 잠깐 블로그질을.. ^^;)
'컴퓨터 > cocos2d & objective C' 카테고리의 다른 글
[cocos2d, iOS 4.0] jpg 사용시 발생하는 문제해결 (0) | 2010.07.02 |
---|---|
[objective C] NSDate로부터 int형의 년, 월, 일 추출하기 (0) | 2010.04.12 |
[objective C] New Line 개행문자 (0) | 2010.04.08 |
[objective C] int -> string 변환시, 두자리 형식으로 표시하기 - String Format Specifiers, 문자열 형식 지정자관련 (0) | 2010.03.17 |
아이폰 프로그래밍 - cocos2d 설치 및 템플릿 추가하기 (3) | 2010.02.02 |