2011-08-04 4 views
2

나는 AVAudioSession 배경 모드 문제

AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 

NSError *setCategoryError = nil; 
[audioSession setCategory:AVAudioSessionCategoryPlayback error:&setCategoryError]; 
if (setCategoryError) { 
} 

NSError *activationError = nil; 
[audioSession setActive:YES error:&activationError]; 
if (activationError) { 
} 

이 또한 내 PLIST 파일에 '필수 배경 모드'를 추가 한 배경 음악을 재생할 내 AVAudioSession을 설정했습니다.

원격 파일을 재생할 때 iPhone이 백그라운드로 들어가면 오디오는 계속 재생됩니다. 그러나 내 앱 (MPMediaItem URL) 안의 iPod에서 노래를 재생하면 백그라운드에서 계속 재생되지 않습니다.

무엇이 누락 되었습니까?

답변

0

당신은 아무것도 놓치지 않았습니다. 사용자가 iPod에서 음악 재생을 시작하면 앱이 더 이상 오디오를 재생하지 않습니다.

다른 것이 있으면 메모를 남겨주세요.이 답변을 업데이트 해 드리겠습니다.

편집 : 당신은 그것에게 -play 메시지를 전송 한 후 MPMusicPlayerController 관련 인스턴스에서 큐를 설정하고에 의해 아이팟 음악을 시작해야합니다. AVAudioPlayer 인스턴스 또는 이와 유사한 URL이있는 MPMediaItem 개체에서 제공하는 URL을 사용하면 다르게 라우팅되며 백그라운드에서 계속 재생할 수 없습니다.

+0

아마도 나는 충분히 명확하지 않았습니다. 내 애플 리케이션 로컬 IPod 음악뿐만 아니라 (MPMediaItem URL)로 원격 파일을 재생합니다. 내가 아이팟에서 노래를 시작할 때 배경에서 연주하지 않을 것이다. 감사! – Mark

+0

그래, 덕분에 좋은 방향으로 나를 가리킨다. 하지만 현재 MPMoviePlayerController를 사용하여 원격 파일을 쉽게 재생하고 있습니다. 사용자가 로컬 iPod 음악을 원격 파일 (재생 목록에서 선택할 수 있음)로 재생할 수있게하는 가장 좋은 방법은 무엇입니까? 감사! – Mark