فهرست منبع

添加回调代码

jsonwang 3 سال پیش
والد
کامیت
687f6f3735
2فایلهای تغییر یافته به همراه27 افزوده شده و 2 حذف شده
  1. 16 1
      BFFramework/Classes/Utils/PQSpeechTranscriberUtil.h
  2. 11 1
      BFFramework/Classes/Utils/PQSpeechTranscriberUtil.m

+ 16 - 1
BFFramework/Classes/Utils/PQSpeechTranscriberUtil.h

@@ -9,10 +9,25 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-@interface PQSpeechTranscriberUtil : NSObject
 
+//返回 delegate
+@class PQSpeechTranscriberUtil;
+@protocol PQSpeechTranscriberUtilDelegate <NSObject>
+
+@optional
+
+// 1,返回结果
+- (void)eventCallback:(PQSpeechTranscriberUtil*)event asrResult:(NSString*)asrResult;
+
+
+@end
+
+@interface PQSpeechTranscriberUtil : NSObject
+@property(nonatomic,weak) id<PQSpeechTranscriberUtilDelegate> delegate;
 ///  开始识别
 - (void)startTranscriber;
+// 结果识别
+- (void)endTranscriber;
 @end
 
 NS_ASSUME_NONNULL_END

+ 11 - 1
BFFramework/Classes/Utils/PQSpeechTranscriberUtil.m

@@ -20,6 +20,7 @@
 @property(nonatomic,strong) NeoNui* nui;
 @property(nonatomic,strong) NlsVoiceRecorder *voiceRecorder;
 @property(nonatomic,strong) NSMutableData *recordedVoiceData;
+
 //
 @end
 
@@ -54,6 +55,7 @@
     }
 }
 
+///  结束识别
 - (void)endTranscriber{
     self.recordedVoiceData = nil;
     
@@ -129,7 +131,7 @@
     
     //从阿里云获取appkey和token进行语音服务访问
     [dictM setObject:@"oTOh8zDVK6iswF9o" forKey:@"app_key"];
-    [dictM setObject:@"f9fea6e2a72e4187b24facf30016e090" forKey:@"token"];
+    [dictM setObject:@"7968a3cc7e8d4b87936bacd85211887b" forKey:@"token"];
     
     //由于token 24小时过期,可以参考getTicket实现从阿里云服务动态获取
     //    [_utils getTicket:dictM];
@@ -211,6 +213,13 @@
         
         NSString *result = [NSString stringWithUTF8String:asr_result];
         NSLog(@"识别结果: %@ finish %d", result, finish);
+        
+        if (self.delegate && [self.delegate respondsToSelector:@selector(eventCallback:asrResult:)])
+        {
+            [self.delegate eventCallback:self asrResult:result];
+
+        }
+        
     } else if (nuiEvent == EVENT_ASR_ERROR) {
         NSLog(@"EVENT_ASR_ERROR error[%d]", code);
     } else if (nuiEvent == EVENT_MIC_ERROR) {
@@ -218,6 +227,7 @@
         [_voiceRecorder stop:YES];
         [_voiceRecorder start];
     }
+ 
     //finish 为真(可能是发生错误,也可能是完成识别)表示一次任务生命周期结束,可以开始新的识别
     if (finish) {
         dispatch_async(dispatch_get_main_queue(), ^{