#출처 - http://blog.naver.com/hana_815/60118951525
이번에 App을 개발하면서 Ipod에서 음악을 재생시키고,
저같은 경우는 applicationDidFinishLaunching 안에서 이렇게 Category를 설정하였습니다.
// AudioSession Category 설정하기
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil];
여기서 정하는 Category 에 따라서 설정이 됩니다.
6개의 Category가 있구요.
각각의 기능은 그림을 참조하시구요.
디폴트는 AVAudioSessionCategorySoloAmbient
입니다. 이것은 동시 재생이 안되는것입니다.
============================================
출처 - http://clbee.tistory.com/5
NSBundle *bundle = [ NSBundle mainBundle ];
NSString *path = [ bundle pathForResource: @"aa" ofType: @"mp3" ];
NSURL *url = [ NSURL fileURLWithPath: path ];
NSError *error;
// //
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error ] ;
[audioPlayer prepareToPlay];
[audioPlayer play];
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategorySoloAmbient error:nil];
[session setActive:YES error:nil];
[출처] [펌 맥부기 ]Audio Session 프로그래밍|작성자 바우만
-(void)initAudioSession{
AudioSessionInitialize(NULL, kCFRunLoopDefaultMode, NULL, NULL); // 1
AudioSessionAddPropertyListener(kAudioSessionProperty_AudioRouteChange,
NULL, NULL); // 2
UInt32 otherAudioIsPlaying; // 3
UInt32 propertySize = sizeof (otherAudioIsPlaying);
AudioSessionGetProperty (kAudioSessionProperty_OtherAudioIsPlaying,
&propertySize,
&otherAudioIsPlaying
);
if (otherAudioIsPlaying) {
UInt32 sessionCategory = kAudioSessionCategory_AmbientSound; // 4
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
sizeof(sessionCategory), &sessionCategory);
}
else {
UInt32 sessionCategory = kAudioSessionCategory_SoloAmbientSound;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory,
sizeof(sessionCategory), &sessionCategory);
}
AudioSessionSetActive(true);
}
// 디비깅이나 OSStatus 확인 없이 꼭 필요한 부분만 정말 간단하게 작성되어있습니다.
// 1. 앱 실행중에 전화가 오거나 문자가 오면 전화벨 소리가 들립니다. 이때 앱의 오디오가 어떻게 작동하는지 설정합니다.
// 2. 이어폰으로 아이팟 음악을 듣다가 이어폰을 빼면 자동으로 아이팟의 음악이 정지됩니다. 이렇게 오디오의 하드웨어 변경에 따른 앱의 오디오 설정을 하는 부분입니다.
// 1,2 부분은 iOS의 default 설정을 굳이 변경하고 싶지 않으시다면 모두 NULL로 채우셔도 됩니다.
//
// 3번을 보기 앞서서
// 4. 이 부분이 앱의 오디오의 behavior를 설정하는 부분입니다.
// iOS에서는 다양한 behavior에 따라서 몇 개의 카테고리로 만들어 제공합니다.
// 제공되는 카테고리는 아래와 같습니다.
//
//
// /////////////////////////////////////////////////////////////////////////////////////
//
// kAudioSessionCategory_SoloAmbientSound
// - default 입니다. 앱이 실행되면 아이팟 오디오가 꺼지고 앱의 오디오만 작동됩니다.
//
// kAudioSessionCategory_AmbientSound
// - 앱이 실행되면 아이팟 오디오는 계속 실행되면서 앱의 오디오도 같이 작동합니다.
//
// kAudioSessionCategory_MediaPlayback
// - 앱이 실행되면 아이팟 오디오가 꺼지고 앱의 오디오만 작동합니다. 더불어 하드웨어의 Mute버튼을 작동시키거나 Lock을 걸어도 앱의 오디오가 계속 작동합니다.
//
// kAudioSessionCategory_PlayAndRecord
// - 솔로 앰비언트와 같지만 녹음이 가능합니다.
//
// kAudioSessionCategory_AudioProcessing
// - 오디오 플레이는 안되고 오디오의 처리만 가능합니다.
//
//
// ////////////////////////////////////////////////////////////////////////
// [출처] [펌 맥부기 ]Audio Session 프로그래밍|작성자 바우만
//
[출처] 아이폰 ios 게임등등 배경음악 백그라운드 음악|작성자 노력쟁이