저는 사용자의 iPod 라이브러리에서 음악을 재생하는 iPhone iOS4 애플리케이션을 개발 중입니다. 나는 또한 어떤 노래가 연주되었는지 추적하고 백그라운드에서 노래를 무작위로 변경할 수 있기를 원합니다. 나는, 실행하고 배경 음악을 계속 재생하려면이 응용 프로그램을 원하는 지금iPhone 앱 MPMusicPlayer로 백그라운드 전환
[self setMusicPlayer: [MPMusicPlayerController iPodMusicPlayer]];
그래서 나는 설정 : 그래서 내가 사용하는 음악 플레이어를 설정
Required background modes: App plays audio
나는 데 문제를 (applicationDidEnterBackground가 호출 될 때, 즉 응용 프로그램 스위치에서) 백그라운드로 이동할 때 내 응용 프로그램이 제어를 잃는 것입니다. iPodMusicPlayer를 사용하고 있기 때문에 음악은 계속 재생되지만 내 앱에는 제어 기능이 없으므로 노래를 추적하거나 변경할 수 없습니다.
이제 Apple 설명서에는이 배경 모드 태그를 사용하여 응용 프로그램을 백그라운드에서 계속 실행해야한다고 나와 있지만, 그렇지 않습니다. MPMusicPlayer를 사용하고 있기 때문입니까? 주위를 둘러 볼 방법이 있습니까? 어떤 아이디어?
추신. 리모컨을 잠그고 멀티 태스킹 iPod 컨트롤러를 내 응용 프로그램과 함께 작동 시키려고합니다. 아래 코드를 사용하지만 remoteControlReceivedWithEvent는 결코 호출되지 않습니다! 그것은 MPMusicPlayer와 함께 작동합니까? AVAudioPlayer에서만 본 적이 있습니다.
- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
NSLog(@"remoteControlReceivedWithEvent");
switch (event.subtype) {
case UIEventSubtypeRemoteControlTogglePlayPause:
NSLog(@"Play Pause");
break;
case UIEventSubtypeRemoteControlNextTrack:
NSLog(@"Next");
break;
default:
break;
}
}
- (BOOL)canBecomeFirstResponder {
NSLog(@"canBecomeFirstResponder");
return YES;
}
- (void) viewWillAppear:(BOOL)animated{
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}