0

一个列表,因为它更容易编写:

• 音乐开始播放
• 跳到下一首
歌曲 • Flite 说出歌曲标题
fliteDidFinishSpeaking不响——为什么?
• 点击播放开始播放音乐——[musicPlayer play];在失败方法的末尾
• 跳到下一首曲目(或只是等待歌曲结束)
• Flite 说出最后一首歌曲的标题——不接受新参数say:
•音乐重新启动 -- 从此时起,Flite 没有问题
• 跳到下一首曲目
• Flite 说话正常
• 音乐重新启动

这仅在应用程序首次启动时发生,因此初始化有问题,无论是在我的代码中还是在 OpenEars/Flite 本身中。

4

1 回答 1

0

蛮力似乎运作良好:

- (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];
}

如果有人找到一个适当的修复将是理想的。

于 2012-07-05T15:15:11.117 回答