您好,感谢您阅读本文!
在前台,我的应用为定时事件播放iOS7 AVSpeechUtterance
。在后台,我将.wav文件名传递给soundName
属性UILocalNotification
。一切正常。
有没有办法将AVSpeechUtterance
用作UILocalnotification
的声音?我想在前景中使用与背景相同的合成。
非常感谢!
答案 0 :(得分:0)
在appdelegate.m
文件中创建此方法。
不要忘记在Appdelegate.h中导入AVFoundation / AVSpeechSynthesizer.h
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
UIApplicationState state = [application applicationState];
if (state == UIApplicationStateActive) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Reminder"
message:notification.alertBody
delegate:self cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
AVSpeechUtterance *utterance = [AVSpeechUtterance
speechUtteranceWithString:[NSString stringWithFormat:@"%@",notification.alertBody]];
AVSpeechSynthesizer *synth = [[AVSpeechSynthesizer alloc] init];
utterance.volume = 10;
utterance.rate = 0.2;
utterance.pitchMultiplier = 1;
[synth speakUtterance:utterance];
// Request to reload table view data
[[NSNotificationCenter defaultCenter] postNotificationName:@"reloadData" object:self];
// Set icon badge number to zero
application.applicationIconBadgeNumber = 0;
}