一个列表,因为它更容易写:
·音乐开始播放
·跳到下一首曲目
·Flite说出歌名
·fliteDidFinishSpeaking不能启动--为什么?
·点击Play开始播放音乐-- [musicPlayer play];位于失败方法的末尾
·跳到下一首曲目(或等待歌曲结束)
·Flite说出了最后一首歌的名字--而不是接受say:的新论点
·音乐重启--从这一点开始,Flite就不会有麻烦了
·跳到下一首曲目
·Flite正常说话
·音乐重启
这只会在应用程序首次启动时发生,所以初始化有问题,无论是在我的代码中还是在OpenEars/Flite本身中。
发布于 2012-07-05 23:15:11
蛮力似乎工作得很好:
- (void)fliteWillStartSpeaking {
[self resetFliteController];
[fliteController say:@"some words" withVoice:curVoice];
fliteDidFinish = NO;
fliteFinishTimer = [NSTimer scheduledTimerWithTimeInterval:kFliteTimerCycle
target:self selector:@selector(forceFliteDidFinish)
userInfo:nil repeats:NO];
}
- (void)forceFliteDidFinish {
if (!fliteDidFinish) {
[self fliteDidFinishSpeaking];
}
[fliteFinishTimer invalidate];
}如果有人找到了一个合适的解决方案,那将是最理想的。
https://stackoverflow.com/questions/10401128
复制相似问题