저는 타이머를 통해 일정한 간격으로 사운드를 재생하는 iPhone 앱을 쓰고 있습니다. 이 응용 프로그램의 첫 번째 버전은 오디오를 최소화했을 때 오디오를 재생했으나 화면이 비어있는 경우 일부 UI를 추가 한 후에 중지되었습니다. 나는 왜, 또는 어떻게 (UI 코드를 제거해도 문제를 해결할 수 없다) 진단하는 방법을 모르겠다.iOS 7 : 오디오가 백그라운드에서 재생되지 않습니다.
나는의 Info.plist 파일에 백그라운드 모드를 설정 한: ("앱은 오디오 재생 또는 에어 플레이를 통해 오디오/비디오 스트림")와 나는 또한 내 응용 프로그램 위임에 다음있어 :
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
NSError *setCategoryErr = nil;
NSError *activationErr = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback
error:&setCategoryErr];
[[AVAudioSession sharedInstance] setActive:YES
error:&activationErr];
return YES;
}
을 fAudioPlayer 유형의 AVAudioPlayer이다
self.fAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil];
self.fAudioPlayer.numberOfLoops = 0;
[self.fAudioPlayer setVolume:volume];
[self.fVolumeLevelSlider setValue:volume];
:
그리고 내 ViewDidLayoutSubViews 방법에, 나는 thusly 히 AVPlayer를 초기화. 내 타이머가 충돌 할 때,이 같은 오디오를 재생 : 난 아직도 내 변화를 통해 갈거야
self.fBGTaskID = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:NULL];
[self.fAudioPlayer play];
보고 무엇인지, 무엇을, 나는 백그라운드에서 재생 중지 소리를 일으킬 수 있다는 점에서 두었다면 한 앱 버전에서 다음 앱 버전으로. 누군가는 여기에서 무엇을 볼 수 있습니까?
백그라운드에서 타이머를 어떻게 실행합니까? –