Iphone: playing recorded voice using UILocalNotification sound

I can record the voice using avrecorder, but keeping the recorded voice in the document directory directory, and I cannot find a way to use it in the local Notification sound, so that any PLZ gives some light on this problem.

code for writing: -

-(IBAction)startRecording { AVAudioSession *audioSession = [AVAudioSession sharedInstance]; NSError *err = nil; [audioSession setCategory :AVAudioSessionCategoryPlayAndRecord error:&err]; NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentPath = [searchPaths objectAtIndex:0]; NSLog(@"ccc...%@",documentPath); if(toggle) { toggle = NO; recordSetting = [[NSMutableDictionary alloc] init]; [recordSetting setValue:[NSNumber numberWithInt: 1] forKey:AVNumberOfChannelsKey]; strRecordedVoice=[NSString stringWithFormat: @"%.0f.%@", [NSDate timeIntervalSinceReferenceDate] * 1000.0, @"caf"]; recordedTmpFile = [NSURL fileURLWithPath:[documentPath stringByAppendingPathComponent:strRecordedVoice]]; NSLog(@"Using Filepath called: %@",recordedTmpFile); NSLog(@"Using str: %@",strRecordedVoice); recorder = [[ AVAudioRecorder alloc] initWithURL:recordedTmpFile settings:recordSetting error:&error]; [recorder setDelegate:self]; [recorder prepareToRecord]; [recorder record]; progressView.progress = 0.0; [recorder recordForDuration:(NSTimeInterval) 2]; lblStatusMsg.text = @"Recording..."; progressView.progress = 0.0; timer = [NSTimer scheduledTimerWithTimeInterval:0.2 target:self selector:@selector(handleTimer) userInfo:nil repeats:YES]; } else { toggle = YES; //Stop the recorder. [recorder stop]; } } 

// code for local definition

 -(void) scheduleLocalNotificationWithDate:(NSDate *)fireDate { UILocalNotification *notification =[[UILocalNotification alloc]init]; notification.fireDate=fireDate; notification.repeatInterval = 0; notification.alertAction = NSLocalizedString(@"View", @"View"); notification.soundName = UILocalNotificationDefaultSoundName; NSDictionary *userDict = [NSDictionary dictionaryWithObject:ap.strAlarmTitle forKey:kRemindMeNotificationDataKey]; notification.userInfo = userDict; [[UIApplication sharedApplication] scheduleLocalNotification:notification]; [notification release]; } Reference:-you can see it its an alarm application which uses uilocalnotification itunes.apple.com/us/app/record-alarm-free/id418511936?mt=8 
+6
source share
3 answers

You can only use sounds from your application package for local notifications

a source

+4
source

As Martin said, you can only use sound files from a set of applications. Your mentioned application β€œRecord alarm free” also cannot play recorded sound as notification sound (I tested).

What you can do is play the sound after the application has been opened from local notification.

You need to implement this in didReceiveLocalNotification and didFinishLaunchingWithOptions :

 -(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { [self playSoundWithNotification:notification]; } - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; if (notification) { [self playSoundWithNotification:notification]; } } 
+2
source

[NSLocalNotification * obj PlaySound];

0
source

Source: https://habr.com/ru/post/923255/


All Articles