[résolu]Problème avec la méthode delegate: speechSynthesizer:didFinishSpeaking

GreensourceGreensource Membre
décembre 2008 modifié dans Vos applications #1
Bonjour tout le monde, petite recherche sans succès donc je me tourne directement vers vous.
Comme dit dans le titre je lit en long, en large et en travers le bouquin d'Aaron Hillgass. J'en suis rendu au chapitre 6 sur le SpeechSynthetizer et les delegates.
J'ai donc suivi les directives, mettre mon objet AppController comme delegate de l'objet speechSynth:
[speechSynth setDelegate:self]

J'ai bien vérifié au débugger normalement c'est ok.
Ensuite j'implémente la méthode delegate suivante dans AppController.m
[size=14pt]- (void)speechSynthetizer:(NSSpeechSynthesizer *)sender <br />		didFinishSpeaking:(BOOL)complete<br />{<br />	NSLog(@&quot;Fin de synthèse: %@&quot;,complete);<br />}[/size]

Mais bizarrement elle n'est jamais lu??? Alors que le synthèse vocale semble pourtant bien se terminer. :why?:
Le bouquin ne dit pas de la déclarer dans AppController.h, je trouve ça un peu bizarre alors j'ai tester les deux mais rien n'y fait.

Voilà , je fouine un peu partout pour trouver mais je dois pas bien faire quelques choses.
Merci si quelqu'un sais d'où cela peu provenir.

ps:Peut-on mettre le code en plus gros sur ce forum, car on voit pas grand chose je trouve.

A++

Réponses

  • NoNo Membre
    décembre 2008 modifié #2
    Je n'ai pas le Hillegass sous la main, mais ton code est plantogène.

    Si le NSLog s'exécute, il y aura vraissemblalement plantage de ton appli, car tu utilises pour afficher la variable complete.
    Or complete n'est pas un objet (c'est un BOOL qui correspond à  un int), et lui demande un objet...

    Remplace par %i !

    C'est par ailleurs pourquoi NSLog n'affiche rien (par contre tu devrais avoir un beau message de plantage dans la console Xcode)
  • GreensourceGreensource Membre
    20:03 modifié #3
    Tout à  fait tu as raison. Donc j'ai changer %@ en %d.
    Par contre je vous ai embêter pour pas grand chose, c'est un pauvre problème de syntaxe, j'ai écrit:
    speechSynthetizer au lieu de speechSynthesizer.
    J'ai pas encore pris l'habitude de copier/coller les noms via l'API.

    Merci en tout cas de cette belle réactivitée! A bientôt.
  • Philippe49Philippe49 Membre
    décembre 2008 modifié #4
    dans 1230635827:

    speechSynthetizer au lieu de speechSynthesizer.
    J'ai pas encore pris l'habitude de copier/coller les noms via l'API.

    Merci en tout cas de cette belle réactivitée! A bientôt.


    Tu peux activer la complétion automatique Preferences > Code Sense
    Puis choisir un raccourci clavier dans Key Bindings

    Tu tapes le début speechS , tu attends , et cela évite ce genre d'erreurs (enfin presque).
    Si le mot proposé n'est pas celui qu'il te faut, tu utilises le raccourci clavier que tu t'es choisi (Ctrl . pour moi) ou la pop-list pour en prendre un autre.

    Le key binding du next place holder est également appréciable
  • GreensourceGreensource Membre
    20:03 modifié #5
    Oui j'avais déjà  mis la complétion mais je crois qu'elle ne marche pas pour le nom de la méthode à  implémenter.
    Sinon pour les Key Bindings c'est qu'elle touche le caractères "^"?

    Merci encore

    ps:si quelqu'un sait pour augmenter la taille du texte de code sur ce forum , merci aussi 
  • Philippe49Philippe49 Membre
    20:03 modifié #6
    dans 1230649961:

    Oui j'avais déjà  mis la complétion mais je crois qu'elle ne marche pas pour le nom de la méthode à  implémenter.

    C'est effectivement embêtant

    dans 1230649961:

    Sinon pour les Key Bindings c'est qu'elle touche le caractères "^"?

    C'est la touche ctrl, comme dans le terminal

    dans 1230649961:

    ps:si quelqu'un sait pour augmenter la taille du texte de code sur ce forum , merci aussi 

    ⌘+
  • GercofisGercofis Membre
    20:03 modifié #7
    dans 1230649961:
    ps:si quelqu'un sait pour augmenter la taille du texte de code sur ce forum , merci aussi 
    Sur un portable dans le TrackPad on écarte les 2 doigts et la zone centrale du navigateur se zoom...
  • Philippe49Philippe49 Membre
    20:03 modifié #8
    dans 1230649961:

    ps:si quelqu'un sait pour augmenter la taille du texte de code sur ce forum

    Rien trouvé dans la doc du forum pour le changement de taille dans le message lui-même.
Connectez-vous ou Inscrivez-vous pour répondre.