开发者

Timed start objective-c

开发者 https://www.devze.com 2023-02-26 17:59 出处:网络
I want to make a program that play sound in every hour but im stuck.I need some help to solve the problem, and that problem is that i dont know how to tell t开发者_开发知识库he program to play a sound

I want to make a program that play sound in every hour but im stuck.I need some help to solve the problem, and that problem is that i dont know how to tell t开发者_开发知识库he program to play a sound in every hour.Im trying with some compare (i set the date to an integer and compare with an other integer), but this doesent seems to work...Can anybody help?(for ex.: i want that the NSDate plays me the sound az 13:00)Many thanx


NSTimer is ok if you know the iOS app will be in the foreground when the timer expires. However to be more robust you'd need to use local nofications.


If you want to play a sound at a specified time without your app running in the foreground you'll have to use notifications:

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

The sound file has to be part of your application main bundle though and you can't use arbritary sound files.

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


Use NSTimer.

See Creating and Scheduling a Timer.


What you need is an : NSTimer

This tutorial could help.


Try this..

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

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


You could use NSTimer.

Setup NSTimer

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

and write your handler..

-(void)timerHandler:(NSTimer*)timer{
 //play your sound here..
}
0

精彩评论

暂无评论...
验证码 换一张
取 消