我正在编写一个基于 Cocoa Book 示例的简单程序,该示例使用 NSSpeechSynthesizer 说出短语。我想知道如何更改用于合成相位的语言。
#import "PHAppDelegate.h"
@implementation PHAppDelegate
@synthesize window = _window;
@synthesize textField = _textField;
- (id)init{
self = [super init];
if(self){
NSLog(@"init");
_speechSynth = [[NSSpeechSynthesizer alloc] initWithVoice:nil];
}
return self;
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
}
- (IBAction)stopIt:(id)sender {
NSLog(@"stoppping");
[_speechSynth stopSpeaking];
}
- (IBAction)sayit:(id)sender {
NSString *string = [_textField stringValue];
if([string length] == 0){
NSLog(@"There is no text to speech.");
return;
}
NSString *voiceID =[[NSSpeechSynthesizer availableVoices] objectAtIndex:10];
[_speechSynth setVoice:voiceID];
[_speechSynth startSpeakingString:string];
NSLog(@"Have started to say: %@", string);
}
@end
这段代码工作正常。