0

開いた耳のデフォルトをロードするアプリ用の単純なヘルパー クラスを作成しようとしてstartListeningいます。

問題はデリゲートの設定だと思いますが、わかりません

OpenEarsHelper.h

#import <Foundation/Foundation.h>
#import <OpenEars/PocketsphinxController.h>
#import <OpenEars/LanguageModelGenerator.h>
@interface OpenEarsHelper : NSObject<OpenEarsEventsObserverDelegate>{
    OpenEarsEventsObserver *openEarsEventsObserver;
    PocketsphinxController *pocketsphinxController;
}
@property (strong, nonatomic) OpenEarsEventsObserver *openEarsEventsObserver;
@property (strong, nonatomic) PocketsphinxController *pocketsphinxController;
-(void)prepare;
@end

OpenEarsHelper.m

#import "OpenEarsHelper.h"

@implementation OpenEarsHelper
@synthesize openEarsEventsObserver;

-(void)prepare{

    [self.openEarsEventsObserver setDelegate:self];//Problem should be here

    LanguageModelGenerator *lmGenerator = [[LanguageModelGenerator alloc] init];
    NSArray *words = [NSArray arrayWithObjects:@"WORD", @"STATEMENT", @"OTHER WORD", @"A PHRASE", nil];
    NSString *name = @"NameIWantForMyLanguageModelFiles";
    NSError *err = [lmGenerator generateLanguageModelFromArray:words withFilesNamed:name];


    NSDictionary *languageGeneratorResults = nil;
    NSString *lmPath = nil;
    NSString *dicPath = nil;
    languageGeneratorResults = [err userInfo];
    lmPath = [languageGeneratorResults objectForKey:@"LMPath"];
    dicPath = [languageGeneratorResults objectForKey:@"DictionaryPath"];
    [self.pocketsphinxController startListeningWithLanguageModelAtPath:lmPath dictionaryAtPath:dicPath languageModelIsJSGF:NO];
}

- (void) pocketsphinxDidReceiveHypothesis:(NSString *)hypothesis recognitionScore:(NSString *)recognitionScore utteranceID:(NSString *)utteranceID {
    NSLog(@"The received hypothesis is %@ with a score of %@ and an ID of %@", hypothesis, recognitionScore, utteranceID);
}

- (PocketsphinxController *)pocketsphinxController {
    if (pocketsphinxController == nil) {
        pocketsphinxController = [[PocketsphinxController alloc] init];
    }
    return pocketsphinxController;
}

- (OpenEarsEventsObserver *)openEarsEventsObserver {
    if (openEarsEventsObserver == nil) {
        openEarsEventsObserver = [[OpenEarsEventsObserver alloc] init];
        openEarsEventsObserver.delegate = self;
    }
    return openEarsEventsObserver;
}
@end

私はそれを次のviewDidLoadような方法で使用しています

 OpenEarsHelper *helper=[[OpenEarsHelper alloc]init];
  [helper prepare];
4

0 に答える 0