132 lines
5.6 KiB
Objective-C
132 lines
5.6 KiB
Objective-C
//
|
|
// NeoNuiStreamInputTts.h
|
|
// nuisdk
|
|
//
|
|
// Created by lengjiayi on 2024/4/17.
|
|
// Copyright © 2024 zhouguangdong. All rights reserved.
|
|
//
|
|
|
|
#ifndef StreamInputTts_h
|
|
#define StreamInputTts_h
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import "NeoNuiCode.h"
|
|
|
|
enum StreamInputTtsCallbackEvent {
|
|
TTS_EVENT_SYNTHESIS_STARTED = 0,
|
|
TTS_EVENT_SENTENCE_BEGIN = 1,
|
|
TTS_EVENT_SENTENCE_SYNTHESIS = 2,
|
|
TTS_EVENT_SENTENCE_END = 3,
|
|
TTS_EVENT_SYNTHESIS_COMPLETE = 4,
|
|
TTS_EVENT_TASK_FAILED = 5
|
|
};
|
|
|
|
typedef enum StreamInputTtsCallbackEvent StreamInputTtsCallbackEvent;
|
|
|
|
@protocol StreamInputTtsDelegate <NSObject>
|
|
@optional
|
|
/**
|
|
* 事件回调
|
|
* @param event 回调事件,参见如下事件列表。
|
|
* @param taskid 请求的任务ID,每次调用一个新ID。
|
|
* @param sessionId 请求的会话ID。
|
|
* @param ret_code 参见错误码,出现TTS_EVENT_ERROR事件时有效,可查阅xxxxx。
|
|
* @param error_msg 当产生错误码时,返回错误信息。
|
|
* @param timestamp 时间戳信息。
|
|
* @param all_response 返回的完整json格式信息。
|
|
*/
|
|
- (void)onStreamInputTtsEventCallback:(StreamInputTtsCallbackEvent)event taskId:(char*)taskid
|
|
sessionId:(char*)sessionId ret_code:(int)ret_code
|
|
error_msg:(char*)error_msg timestamp:(char*)timestamp all_response:(char*)all_response;
|
|
/**
|
|
* 当合成数据时,此回调被连续调用,App需要在回调中获得合成的音频数据
|
|
* @param buffer 合成的语音数据
|
|
* @param len 合成的语音长度
|
|
*/
|
|
- (void)onStreamInputTtsDataCallback:(char*)buffer len:(int)len;
|
|
|
|
- (void)onStreamInputTtsLogTrackCallback:(NuiSdkLogLevel)level
|
|
logMessage:(const char *)log;
|
|
@end
|
|
|
|
|
|
@interface StreamInputTts : NSObject
|
|
@property (nonatomic,weak) id<StreamInputTtsDelegate> delegate;
|
|
|
|
+ (instancetype)get_instance;
|
|
|
|
/**
|
|
* 与服务端完成建链,并开始流式语音合成任务
|
|
* @param ticket json string形式的鉴权参数,参见下方说明或接口说明:xxxxx
|
|
* @param parameters json string形式的初始化配置参数,参见下方说明或接口说明:xxxxx
|
|
* @param sessionId 会话ID,可传入32个字节的uuid,或传入空内容由SDK自动生成。
|
|
* @param logLevel log打印级别,值越小打印越多。
|
|
* @param saveLog 是否保存log为文件,存储目录为ticket中的debug_path字段值。
|
|
* @return:参见错误码:https://help.aliyun.com/document_detail/459864.html。
|
|
*/
|
|
- (int) startStreamInputTts:(const char *)ticket parameters:(const char *)parameters
|
|
sessionId:(const char *)sessionId logLevel:(NuiSdkLogLevel)logLevel
|
|
saveLog:(BOOL)saveLog;
|
|
|
|
/**
|
|
* 与服务端完成建链,并开始单向流式语音合成(长文本语音合成)任务,同步接口
|
|
* @param ticket json string形式的鉴权参数,参见下方说明或接口说明:xxxxx
|
|
* @param parameters json string形式的初始化配置参数,参见下方说明或接口说明:xxxxx
|
|
* @param text 待合成文本
|
|
* @param sessionId 会话ID,可传入32个字节的uuid,或传入空内容由SDK自动生成。
|
|
* @param logLevel log打印级别,值越小打印越多。
|
|
* @param saveLog 是否保存log为文件,存储目录为ticket中的debug_path字段值。
|
|
* @return:参见错误码:https://help.aliyun.com/document_detail/459864.html。
|
|
*/
|
|
- (int) playStreamInputTts:(const char *)ticket parameters:(const char *)parameters
|
|
text:(const char*)text sessionId:(const char *)sessionId
|
|
logLevel:(NuiSdkLogLevel)logLevel saveLog:(BOOL)saveLog;
|
|
|
|
/**
|
|
* 与服务端完成建链,并开始单向流式语音合成(长文本语音合成)任务,异步接口
|
|
* @param ticket json string形式的鉴权参数,参见下方说明或接口说明:xxxxx
|
|
* @param parameters json string形式的初始化配置参数,参见下方说明或接口说明:xxxxx
|
|
* @param text 待合成文本
|
|
* @param sessionId 会话ID,可传入32个字节的uuid,或传入空内容由SDK自动生成。
|
|
* @param logLevel log打印级别,值越小打印越多。
|
|
* @param saveLog 是否保存log为文件,存储目录为ticket中的debug_path字段值。
|
|
* @return:参见错误码:https://help.aliyun.com/document_detail/459864.html。
|
|
*/
|
|
- (int) asyncPlayStreamInputTts:(const char *)ticket parameters:(const char *)parameters
|
|
text:(const char*)text sessionId:(const char *)sessionId
|
|
logLevel:(NuiSdkLogLevel)logLevel saveLog:(BOOL)saveLog;
|
|
|
|
/**
|
|
* 以流式的方式发送文本
|
|
* @param text 从大模型当中生成的流式文本
|
|
* @return:参见错误码:https://help.aliyun.com/document_detail/459864.html。
|
|
*/
|
|
- (int) sendStreamInputTts:(const char *)text;
|
|
|
|
/**
|
|
* 结束合成任务,通知服务端流入文本数据发送完毕,阻塞等待服务端处理完成,并返回所有合成音频。阻塞超时可以通过start接口中的complete_waiting_ms设置
|
|
* @return:参见错误码:https://help.aliyun.com/document_detail/459864.html。
|
|
*/
|
|
- (int) stopStreamInputTts;
|
|
|
|
/**
|
|
* 结束合成任务,通知服务端流入文本数据发送完毕,不等待而是立即返回,同时回调继续返回剩余内容
|
|
* @return:参见错误码:https://help.aliyun.com/document_detail/459864.html。
|
|
*/
|
|
- (int) asyncStopStreamInputTts;
|
|
|
|
/**
|
|
* 立即停止合成任务,不会有任何回调返回
|
|
* @return:参见错误码:https://help.aliyun.com/document_detail/459864.html。
|
|
*/
|
|
- (int) cancelStreamInputTts;
|
|
|
|
/**
|
|
* 手动释放合成任务
|
|
*/
|
|
- (int) releaseStreamInputTts;
|
|
|
|
@end
|
|
|
|
#endif /* NeoNuiStreamInputTts_h */
|