AVPlayer spielt Audio von der iOS 7-Hintergrundbenachrichtigung ab
ich habeaudio
, fetch
undremote-notification
setzen inUIBackgroundModes
und ich erhalte erfolgreich Remote-Benachrichtigungen mit meiner App im Hintergrund (nicht aktiv) über:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
Ich habe folgendes in meinem:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
:
self.audioPlayer = [[AVPlayer alloc] init];
NSError *sessionError = nil;
NSError *activationError = nil;
[[AVAudioSession sharedInstance] setActive:YES error:&activationError];
if (![[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&sessionError]) {
NSLog(@"[AppDelegate] Failed to setup audio session: %@", sessionError);
}
Und in- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
Ich habe folgendes:
NSLog(@"Playing url: %@", filePath);
AVPlayerItem * currentItem = [AVPlayerItem playerItemWithURL:[NSURL fileURLWithPath:filePath]];
[self.audioPlayer replaceCurrentItemWithPlayerItem:currentItem];
[self.audioPlayer play];
Ich sehe diesen Code über NSLog ausführen, aber es wird kein Ton erzeugt. Wenn die App innerhalb weniger Sekunden nach dem Aufrufen des Hintergrunds eine Benachrichtigung erhält, wird tatsächlich Audio abgespielt. Beim ersten Mal wird eine Benachrichtigung ausgegeben, aber niemals danach.
Kann eine App in iOS 7 die Audioausgabe asynchron wie folgt aus dem Hintergrund starten, d. H. Nachdem es geschlafen hat und seit einiger Zeit kein Audio mehr produziert wurde?