2010-09-04 6 views
1

J'ai utilisé le code de pommes exemple de cette page: Link, mais je ne peux pas sembler obtenir le son à répéter. J'ai vérifié d'autres applications, telles que skype (VoIP) et Alarm Clock Pro (audio?) Mais je ne peux pas obtenir le fichier son à répéter.son de répétition UILocalNotification

Voici mon code:

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
    AlarmHandler *AHinstance = getAlarmHandlerInstance(); 
    UIApplication* app = [UIApplication sharedApplication]; 

    NSArray *alarmList   = [AHinstance getAlarms]; 
    NSArray *oldNotifications = [app scheduledLocalNotifications]; 

    if ([oldNotifications count] > 0) 
    { 
     [app cancelAllLocalNotifications]; 
    } 

    for (Alarm *theAlarm in alarmList) { 
     NSDate *alarmDate = [theAlarm getNearestActivationDate]; 
     Package *alarmPackage = [theAlarm getAlarmPackage]; 
     NSArray *fileList = [alarmPackage getVoiceFileListForBackgroundNotificationWithHour:theAlarm.larmHour]; 

     if(alarmDate == nil) continue; 

     UILocalNotification* alarm = [[[UILocalNotification alloc] init] autorelease]; 

     if (alarm) 
     { 
      NSLog(@"File: %@", [fileList objectAtIndex:0]); 

      alarm.fireDate = alarmDate; 
      alarm.timeZone = [NSTimeZone defaultTimeZone]; 
      alarm.soundName = [fileList objectAtIndex:0];   
      alarm.alertBody = @"Time to wake up!"; 
      alarm.repeatInterval = 0; 

      [app scheduleLocalNotification:alarm]; 
     } 
    } 
} 

Toutes les suggestions sur la façon dont je peux résoudre ce problème?

J'ai eu des suggestions pour enregistrer l'application en tant que lecteur audio et lire des sons en arrière-plan, mais il semble que la pomme ne prend gentiment à ces applications, car ils ne sont pas de vrais joueurs audio. Par conséquent, ils nient ces applications.

Cordialement,
Paul Peelen

+0

mec, est votre application complète maintenant ...? En fait je suis également confronté au même problème que je veux que mon son de notification se répète 3 fois car mon son est de 20 sec. Pouvez-vous m'aider..? S'il vous plaît – mAc

+0

Eh bien, j'ai trouvé ce n'est pas possible, comme l'a dit Itay. Vous devrez ajouter 3 fois le même son dans un fichier ou 3 notifications. –

+0

@PaulPeelen vous avez une solution? – Abha

Répondre

4

Il n'y a pas moyen de le faire pour les notifications locales. Vous pouvez soit vous enregistrer en tant qu'application VOIP, soit en tant qu'application audio de fond, avec des API distinctes. Toutefois, si vous ne fournissez pas les fonctionnalités appropriées pour bénéficier de ce type d'utilisation, vous serez probablement rejeté.

+0

J'avais peur que cela puisse être le cas. Si je voulais que le son d'un système se répète ... est-ce possible? –

+0

Pas pour UILocalNotification - Je l'ai voulu moi-même. Vous pouvez jouer des sons en interne dans votre application et les faire répéter sans aucun problème, mais vous devez être au premier plan pour le faire. – Itay

+0

Allright, comment pensez-vous que l'application « Alarm Clock Pro » a résolu ce? Cette application répète le «son SMS» standard encore et encore et encore. Pensez-vous qu'ils ont un "grand" son de réveil? –

0

Oui cela est possible, comme l'indique la documentation:

vos propres applications peuvent programmer jusqu'à 128 notifications simultanées, dont chacun peut être configuré pour répéter à un intervalle spécifié

Vous juste besoin de configurer la propriété repeatInterval:

L'intervalle de calendrier auquel replanifier la notification.

+0

Mais cela signifie que les sons 3 - 4 rendent l'expérience de l'utilisateur plus difficile. Correct? Je comprends que cela signifie qu'une nouvelle notification sera affichée X secondes après l'autre et que la première sera automatiquement supprimée. –

Questions connexes