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 に答える