2010-09-04 3 views
1

я использовал код из примера яблок с этой страницы: Link, но я не могу показаться, чтобы получить звук повторить. Я проверил другие приложения, такие как skype (для VOIP) и Alarm Clock Pro (аудио?), Но я не могу воспроизвести звуковой файл.UILocalNotification повторить звук

Это мой код:

- (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]; 
     } 
    } 
} 

Любые предложения о том, как я могу это исправить?

У меня были предложения, чтобы зарегистрировать приложение в качестве аудиоплеера и воспроизводить звуки на заднем плане, но мне кажется, что Яблоко доброжелательно к этим приложениям, потому что они не являются реальными аудиоплееры. Поэтому они отрицают эти приложения.

С уважением,
Пол Peelen

+0

чувак, это ваше приложение в комплекте теперь ...? на самом деле я также сталкиваюсь с той же проблемой. i.e, я хочу, чтобы мой звук уведомления повторялся 3 раза, так как мой звук составляет 20 секунд. можешь мне помочь..? Пожалуйста, – mAc

+0

Ну, я узнал, что это невозможно, как сказал Итай. Вам нужно будет добавить 3 раза один и тот же звук в один файл или установить 3 уведомления. –

+0

@PaulPeelen вы получите какое-либо решение? – Abha

ответ

4

Там нет никакого способа сделать это для местных уведомлений. Вы можете зарегистрироваться в качестве приложения VOIP или в качестве приложения «фоновое аудио», которое имеет отдельные API. Однако, если вы не предоставляете надлежащую функциональность, чтобы претендовать на эти виды использования, вы, скорее всего, будете отвергнуты.

+0

Я боялся, что это может быть так. Если бы я хотел, чтобы звук системы повторялся ... возможно ли это? –

+0

Не для UILocalNotification - Я сам хотел этого. Вы можете воспроизводить звуки внутри вашего приложения и повторять их без каких-либо проблем, но вы должны быть на переднем плане, чтобы сделать это. – Itay

+0

Хорошо, как вы думаете, что приложение «Alarm Clock Pro» решило это? Это приложение повторяет стандартный «sms sound» снова и снова. Вы подозреваете, что у них «большой» звук пробуждения? –

0

Да, это возможно, так как документация состояний:

Ваши собственные приложения могут запланировать до 128 одновременных уведомлений, любой из которых может быть настроен, чтобы повторить через заданный интервал

Вы просто необходимо сконфигурировать свойство repeatInterval:

Календарный интервал, в который следует перенести уведомление.

+0

Но это означает, что звуки 3 - 4s затруднят работу пользователя. Верный? Я понимаю, что это означает, что новое уведомление будет показано через X секунд другого и что первый будет автоматически удален. –

Смежные вопросы