2010-10-28 3 views
1

J'ai la méthode déléguée suivante pour NSSpeechSynthesizer:La méthode NSSpeechSynthesizer delegate signale toujours une erreur, mais laquelle?

- (void) speechSynthesizer:(NSSpeechSynthesizer *)sender didFinishSpeaking:(BOOL) success { 
    NSLog(@"Finished correctly = %d", success); 
    [startButton setEnabled:YES]; 
    [stopButton setEnabled:NO]; 
} 

Le paramètre « succès » est toujours non, même si j'ai entendu tout à la perfection. Y at-il un moyen d'obtenir plus d'informations et de savoir exactement ce qui a mal tourné?

Répondre

3

En utilisant NSSpeechSynthesizer? Utilisation du gestionnaire de synthèse de la parole? Chose sûre!

/* Created earlier: SpeechChannel chan; */ 
NSDictionary *errorInfo = nil; 
OSErr err = CopySpeechProperty(chan, kSpeechErrorsProperty, (CFTypeRef *)&errorInfo); 
[errorInfo autorelease]; 

Vous pouvez également configurer des gestionnaires d'erreurs pour toutes sortes d'erreurs. Voir le Cocoa Speech Synthesis Example pour une démonstration de l'utilisation de Speech Synthesis Manager. Bien qu'il s'agisse d'une API Carbon, il semble qu'elle soit toujours disponible pour les applications 64 bits.

Questions connexes