2012-01-06 1 views
2

때 - 희망 누군가가 도움이 될 수 있습니다AVAudioPlayer는 AmbientSound 세션을 사용하여, 재생되지 않는 응용 프로그램은 백그라운드에서

내 애플은 가끔 짧은 오디오를 재생 클립 - 오디오가 iPod 앱과 같은 백그라운드에서 다른 앱에서 재생되는 오디오와 믹스되기를 원하지만, 앱이 백그라운드에서 실행 중일 때 이러한 오디오 클립을 계속 재생하기를 원합니다.

나는

내 애플은 오디오 세션을 설정 (즉,도 거기에 설정되어 있도록 응용 프로그램은 또한 너무 위치 서비스를 사용)의 Info.plist에서 필요한 배경 모드 설정에서 "응용 프로그램이 오디오 재생"설정 내 viewWillAppear에서

AudioSessionInitialize (NULL,NULL,NULL,NULL); 
UInt32 sessionCategory = kAudioSessionCategory_AmbientSound; 
AudioSessionSetProperty (kAudioSessionProperty_AudioCategory,sizeof (sessionCategory),&sessionCategory); 
AudioSessionSetActive(true); 

: 아래 applicationDidFinishLaunching에서 활성화되어 뷰에서 방법 내가 가진 :

[super viewWillAppear:animated]; 
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
[self becomeFirstResponder]; 

하고 해당 이벤트 핸들러를 viewWillDisappear에서 endReceivingRemoteControlEvents 코드 : 마지막으로

iOS 4: Remote controls for background audio에서 논의 된 바와 같이 나는 특정 이벤트에 사운드를 재생 일반적인 방법에서 설정 한 AVAudioPlayer를,

bool successful = [avAudioPlayer play]; 
if(!successful) 
    NSLog(@"did not play"); 

응용 프로그램이 포 그라운드에있는 응용 프로그램이 잘 작동해야 오디오를 재생하지만 앱이 백그라운드로 들어가고 앱이 사운드를 재생하려고하면 [avAudioPlayer play]의 반환 값은 NO이고 사운드는 재생되지 않습니다. 포 그라운드로 다시 전환하면 오디오가 다시 작동하기 시작합니다.

내가 세션을 설정할 때 내가 대신

UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; 

를 사용하는 경우는 다음 오디오 완벽 전경과 배경에서 재생됩니다. 하지만 MediaPlayback은 오디오 클립을 가끔씩 재생하기 때문에이 앱에 맞는 모드가 아닙니다. AmbientSound는 실제로 사용해야하는 모드입니다.

무엇이 누락 되었습니까? 백그라운드에서 오디오를 재생하기 위해 kAudioSessionCategory_AmbientSound를 사용할 수 없습니까? 그렇다면 문서에서 아무 것도 발견하지 못했습니다.

답변

2

결국 기술 지원 요청을 제출해야합니다.

Apple 배경 재생은 AmbientSound 범주에서 지원되지 않으므로 MediaPlayback을 사용해야합니다.

그들은 문서에 있다고 주장합니다. 나는 다시 보았습니다. 찾지 못했습니다.

그래, 배경 음악을 MediaPlayback으로 믹싱하는 것은 kAudioSessionProperty_OverrideCategoryMixWithOthers를 사용하는 것만으로도 충분히 쉽습니다.하지만 다른 AmbientSound 기능을 복제하려면 (뮤트 스위치를 준수하고 잠겨있을 때 재생되지 않음) 다른 점을 건너 뛰어야합니다. AmbientSound가 백그라운드에서 재생되는 것을 지원하지 않는 이유를 정말로 이해하지 못합니다. 그러나 거기에 대해 알아 보겠습니다.

+0

2012 년 이후로 어떤 업데이트가 있습니까? 나는 여기서 같은 문제를 겪고있다. 주변 환경은 전경이 좋지만 배경에는 소리가 들리지 않습니다. 조용한 스위치를 고려하지 않으므로 재생은 실제로 옵션이 아닙니다. 감사! – Guven

+1

최근에는 시도하지 않았지만 행동을 변경하면 놀랄 것입니다. –

관련 문제