如何在Mac应用程序中说出文字?

时间:2013-03-17 07:22:29

标签: objective-c macos cocoa

我正在制作一个Xcode应用程序,我需要能够按下按钮并阅读一些文本。如果有人可以向我提供我需要在IBAction按钮的括号内使用的代码行,那将非常感激。谢谢。

1 个答案:

答案 0 :(得分:7)

试试这个:

您需要一个属性

@property(strong) NSSpeechSynthesizer *speechSynth;

在你的init方法中:

_speechSynth = [[NSSpeechSynthesizer alloc] initWithVoice:nil];

开始发言:

- (IBAction)sayIt:(id)sender{
    NSString *string = [self.textField stringValue];
    // Is the string zero-length?
    if ([string length] == 0) {
        NSLog(@"string from %@ is of zero-length", self.textField);
        return;
    }
    [self.speechSynth startSpeakingString:string];
    NSLog(@"Have started to say: %@", string);
}

停止发言:

- (IBAction)stopIt:(id)sender {
    NSLog(@"stopping");
    [self.speechSynth stopSpeaking];
}