I tried your sample App (that is shipped in the downloaded zip archive) and encountered a problem with the mic permission.
When I start the App the first time iOS is asking for mic permissions. The delegate method pocketsphinxFailedNoMicPermissions
is called.
When pressing on “Yes” the micPermissionCheckCompleted
is called, without an error. The statement [[OEPocketsphinxController sharedInstance] startListeningWithLanguageModelAtPath...
will be called.
Listening is not possible/not started. In the logs I see the message:
A request has been made to start a listening session using startListeningWithLanguageModelAtPath:dictionaryAtPath:acousticModelAtPath:languageModelIsJSGF:, however, there is already a listening session in progress which has not been stopped. Please stop this listening session first with [[OEPocketsphinxController sharedInstance] stopListening]; and wait to receive the OEEventsObserver callback pocketsphinxDidStopListening before starting a new session. You can still change models in the existing session by using OEPocketsphinxController's method changeLanguageModelToFile:withDictionary:
Calling stopListening
seems to do nothing. The pocketsphinxDidStopListening callback method will not be called.
More logs:
Starting OpenEars logging for OpenEars version 2.03 on 32-bit device (or build): iPhone running iOS version: 8.200000
Creating shared instance of OEPocketsphinxController
Attempting to start listening session from startListeningWithLanguageModelAtPath:
User has not granted mic permission so recognition won't be possible, stopping. To receive this information as a callback add the OEEventsObserver delegate method -(void)pocketsphinxFailedNoMicPermissions; to your app....
Local callback: The user has never set mic permissions or denied permission to this app's mic, so listening will not start.
User gave mic permission for this app.
A request has been made to start a listening session...