Files
keyboard/keyBoard/Class/AiTalk/VM/DeepgramStreamingManager.h

51 lines
1.5 KiB
C
Raw Normal View History

2026-01-22 13:47:34 +08:00
//
// DeepgramStreamingManager.h
// keyBoard
//
// Created by Mac on 2026/1/21.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol DeepgramStreamingManagerDelegate <NSObject>
@optional
- (void)deepgramStreamingManagerDidConnect;
- (void)deepgramStreamingManagerDidDisconnect:(NSError *_Nullable)error;
- (void)deepgramStreamingManagerDidUpdateRMS:(float)rms;
- (void)deepgramStreamingManagerDidReceiveInterimTranscript:(NSString *)text;
- (void)deepgramStreamingManagerDidReceiveFinalTranscript:(NSString *)text;
- (void)deepgramStreamingManagerDidFail:(NSError *)error;
@end
/// Manager for Deepgram live transcription.
@interface DeepgramStreamingManager : NSObject
@property(nonatomic, weak) id<DeepgramStreamingManagerDelegate> delegate;
@property(nonatomic, copy) NSString *serverURL; // wss://api.deepgram.com/v1/listen
@property(nonatomic, copy) NSString *apiKey;
@property(nonatomic, copy, nullable) NSString *language;
@property(nonatomic, copy, nullable) NSString *model;
@property(nonatomic, assign) BOOL punctuate;
@property(nonatomic, assign) BOOL smartFormat;
@property(nonatomic, assign) BOOL interimResults;
@property(nonatomic, copy) NSString *encoding; // linear16
@property(nonatomic, assign) double sampleRate;
@property(nonatomic, assign) int channels;
@property(nonatomic, assign, readonly, getter=isStreaming) BOOL streaming;
- (void)start;
- (void)prepareConnection;
- (void)stopAndFinalize;
- (void)cancel;
- (void)disconnect;
@end
NS_ASSUME_NONNULL_END