2011-04-19 2 views
0

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

ответ

0

Вы можете использовать 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

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

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

-(void)myTimerMethod 
{ 
//Play an Alarm 
} 
2

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

1

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

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

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