Приуроченный старт цель-с - PullRequest
0 голосов
/ 19 апреля 2011

Я хочу сделать программу, которая будет воспроизводить звук каждый час, но я застрял. Мне нужна помощь, чтобы решить проблему, и проблема в том, что я не знаю, как заставить программу воспроизводить звук каждый час.пытаясь с некоторым сравнением (я установил дату в целое число и сравнил с другим целым числом), но этот doesent, кажется, работает ... Кто-нибудь может помочь? (например: я хочу, чтобы NSDate воспроизводил мне звук az 13:00) Большое спасибо

Ответы [ 6 ]

2 голосов
/ 19 апреля 2011

NSTimer нормально, если вы знаете, что приложение iOS будет на переднем плане после истечения таймера. Однако, чтобы быть более надежным, вам нужно использовать местные обозначения .

1 голос
/ 19 апреля 2011

Если вы хотите воспроизводить звук в указанное время без запуска приложения на переднем плане, вам придется использовать уведомления:

UILocalNotification *localNotif = [[UILocalNotification alloc] init];
localNotif.fireDate = <some hour in the future>;
localNotif.repeatInterval = NSHourCalendarUnit;
localNotif.soundName = @"soundFile.caf";
localNotif.timeZone = [NSTimeZone defaultTimeZone];
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
[localNotif release];

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

http://developer.apple.com/library/ios/#documentation/iphone/Reference/UILocalNotification_Class/Reference/Reference.html

0 голосов
/ 19 апреля 2011

Попробуйте это ..

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:60.0 target:self selector:@selector(myTimerMethod:) userInfo:nil repeats:YES];

-(void)myTimerMethod
{
//Play an Alarm
}
0 голосов
/ 19 апреля 2011

Вы можете использовать NSTimer.

Настройте NSTimer

NSTimer *timer = [[NSTimer alloc]initWithFireDate:<your_start_date> 
                     interval:(60 * 60)  
                     target:self 
                     selector:@selector(timerHandler:) 
                     userInfo:nil 
                     repeats:YES];

и напишите свой обработчик ..

-(void)timerHandler:(NSTimer*)timer{
 //play your sound here..
}
0 голосов
/ 19 апреля 2011

Что вам нужно, это: NSTimer

Этот учебник может помочь.

0 голосов
/ 19 апреля 2011
...