Objective c 发表演说
我试着让AVSpeech说出字符串中的两个NSString*组合并将其传给AVSpeech。但是只有speekone被传递到了合并字符串。所以我只说了第一句话。我是否以某种方式声明字符串错误,或者我是否需要更改我的方法Objective c 发表演说,objective-c,iphone,avspeechsynthesizer,Objective C,Iphone,Avspeechsynthesizer,我试着让AVSpeech说出字符串中的两个NSString*组合并将其传给AVSpeech。但是只有speekone被传递到了合并字符串。所以我只说了第一句话。我是否以某种方式声明字符串错误,或者我是否需要更改我的方法 - (IBAction)UIButtonPlayPressed:(UIButton *)sender{ NSString *speekone = _activity.activityName; NSString *speektwo = _activity.activityDesc
- (IBAction)UIButtonPlayPressed:(UIButton *)sender{
NSString *speekone = _activity.activityName;
NSString *speektwo = _activity.activityDescription;
NSString *combined = [NSString stringWithFormat:speekone, speektwo];
if (speechPaused == NO) {
//Title for button [self.UIButtonPlay setTitle:@"Pause" forState:UIControlStateNormal];
[self.synthesizer continueSpeaking];
speechPaused = YES;
NSLog(@"playing");
} else {
//Titleforbutton [self.UIButtonPlay setTitle:@"Play" forState:UIControlStateNormal];
speechPaused = NO;
[self.synthesizer pauseSpeakingAtBoundary:AVSpeechBoundaryImmediate];
NSLog(@"paused");
}
if (self.synthesizer.speaking == NO) {
AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc] initWithString:combined];
[self.synthesizer speakUtterance:utterance];
stringWithFormat
的第一个参数不是格式说明符
这一行:
NSString *combined = [NSString stringWithFormat:speekone, speektwo];
应成为:
NSString *combined = [NSString stringWithFormat:@"%@ %@", speekone, speektwo];