集成阿里云 NUI 语音合成 SDK
This commit is contained in:
59
suixinkan/Features/ScenicQueue/Services/AliyunNuiTTSBridge.h
Normal file
59
suixinkan/Features/ScenicQueue/Services/AliyunNuiTTSBridge.h
Normal file
@ -0,0 +1,59 @@
|
||||
//
|
||||
// AliyunNuiTTSBridge.h
|
||||
// suixinkan
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/// 阿里云 NUI TTS 事件代理,将 Objective-C SDK 回调转成稳定的 Swift 边界。
|
||||
@protocol AliyunNuiTTSBridgeDelegate;
|
||||
|
||||
/// 阿里云 NUI TTS Objective-C 桥接器,隔离 SDK 头文件和模拟器不可用逻辑。
|
||||
@interface AliyunNuiTTSBridge : NSObject
|
||||
|
||||
/// SDK 回调代理。
|
||||
@property (nonatomic, weak, nullable) id<AliyunNuiTTSBridgeDelegate> delegate;
|
||||
|
||||
/// 当前平台是否可直接加载 NUI TTS SDK。
|
||||
@property (nonatomic, readonly) BOOL sdkAvailable;
|
||||
|
||||
/// 初始化 NUI TTS 引擎。
|
||||
- (NSInteger)initializeWithTicket:(NSString *)ticket logLevel:(NSInteger)logLevel saveLog:(BOOL)saveLog;
|
||||
|
||||
/// 设置合成参数。
|
||||
- (NSInteger)setParam:(NSString *)param value:(NSString *)value;
|
||||
|
||||
/// 开始合成指定文本。
|
||||
- (NSInteger)playWithPriority:(NSString *)priority taskId:(NSString *)taskId text:(NSString *)text;
|
||||
|
||||
/// 取消指定任务,taskId 为空时取消全部任务。
|
||||
- (NSInteger)cancelWithTaskId:(nullable NSString *)taskId;
|
||||
|
||||
/// 释放 SDK 资源。
|
||||
- (NSInteger)releaseEngine;
|
||||
|
||||
/// 获取 SDK 参数值。
|
||||
- (nullable NSString *)paramValueForKey:(NSString *)key;
|
||||
|
||||
@end
|
||||
|
||||
/// 阿里云 NUI TTS 事件代理。
|
||||
@protocol AliyunNuiTTSBridgeDelegate <NSObject>
|
||||
|
||||
/// 收到 TTS 状态事件。
|
||||
- (void)aliyunNuiTTSBridge:(AliyunNuiTTSBridge *)bridge
|
||||
didReceiveEvent:(NSInteger)event
|
||||
taskId:(nullable NSString *)taskId
|
||||
code:(NSInteger)code;
|
||||
|
||||
/// 收到 TTS 音频数据。
|
||||
- (void)aliyunNuiTTSBridge:(AliyunNuiTTSBridge *)bridge
|
||||
didReceiveAudioData:(NSData *)data
|
||||
taskId:(nullable NSString *)taskId
|
||||
info:(nullable NSString *)info;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
Reference in New Issue
Block a user