2012-07-11 1 views
3

웹에서 mp3 파일을 스트리밍하는 AVPlayer가 있습니다. 앱이 종료 될 때/화면이 꺼지면 오디오가 재생되도록 AVAudioSession을 활성화했습니다. 음악은 완벽하게 재생되지만 음악이 재생 될 때 휴대 전화 상단의 상태 메뉴에 나타나는 작은 '재생'삼각형 아이콘이 표시되지 않습니다 (iOS의 일반적인 경우). 내가 잘못한 건 뭐니? 코드는 아래와 같습니다.AVPlayer가있는 AVAudioSession : AVPlayer 플레이어가 재생 될 때 상태 메뉴의 '재생'아이콘이 표시되지 않습니다.

// Set AudioSession 
NSError *sessionError = nil; 
[[AVAudioSession sharedInstance] setDelegate:self]; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError]; 
[[AVAudioSession sharedInstance] setActive:YES error:nil]; 

//Direct audio to speakers when there is no headphone 
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; 
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);  
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; 
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride); 

답변

2

이 질문을하는 사람들을 위해 알아 냈습니다. 플레이어의 컨트롤러를 첫 번째 응답자 (특히 원격 제어 이벤트 용)로 만들어야합니다. 이것은 범용 재생/일시 정지/정방향/역 제어와 같은 원격 제어 이벤트를 수신 할 수있을뿐만 아니라 재생 아이콘을 상태 메뉴에 놓습니다.

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
[self becomeFirstResponder];