簡體   English   中英

OpenEars-fliteDidFinishSpeaking首次觸發Flite時未調用

[英]OpenEars - fliteDidFinishSpeaking not called the first time Flite is fired

清單,因為它更容易編寫:

•音樂開始播放
•跳到下一首
•Flite講歌名
fliteDidFinishSpeaking不觸發-為什么?
•點擊播放開始播放音樂- [musicPlayer play]; 在失敗方法的盡頭
•跳至下一首曲目(或等待歌曲結束)
•Flite說出最后一首歌的標題-不接受新的說法say:
•音樂重新開始-從這一點開始,Flite沒問題
•跳到下一首
•Flite說話正常
•音樂重新開始

這僅在應用程序首次啟動時發生,因此初始化有問題,無論是在我的代碼中還是在OpenEars / Flite本身中。

蠻力似乎運作良好:

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

如果有人找到了一個合適的解決方案將是理想的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM