您好,感谢您阅读本文!

在前台,我的应用程序会为定时事件播放iOS7 AVSpeechUtterance。在后台,我将.wav文件名传递给soundNameUILocalNotification属性。所有这一切。

有没有办法将AVSpeechUtterance用作UILocalnotification的声音?我想要与背景相同的前景。

非常感谢!

最佳答案

appdelegate.m文件中创建此方法。
不要忘记在Appdelegate.h中导入AVFoundation / AVSpeechSynthesis.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;
}

关于ios - AVSpeechUtterance作为UILocalNotification声音,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23520572/

10-12 01:25