功能
音量调节
由于音量的调节可能涉及到对于系统全部音量的调节,所以音量调节的实现,暴露给开发者实现。
/**
添加调整音量的 observer
@param observer 实现<OnVolumeChangedObserver>协议的对象
*/
- (void)addVolumeChangedObserver:(id<OnVolumeChangedObserver>)observer;
在回调中可以对系统音量进行调节
语音交互主要生命周期回调(灯效)
如果希望对于语音交互主要的生命周期进行监听,做一些操作,比如灯效,可以通过添加如下方法在回调方法中监听状态变更。
/**
添加小雅会话生命周期的 observer
@param observer 实现<UXStateObserver>协议的对象
*/
- (void)addStateObserver:(id<UXStateObserver>)observer;
按键控制
SDK 也支持,通过调用方法的方式,来进行一些常见的控制,比如播放、暂停、上一首、下一首,这样,开发者可以实现点击按钮来控制播放,或者点击物理按键来实现播放控制。支持的方法有:
/**
暂停
*/
- (void)pause;
/**
播放
*/
- (void)play;
/**
下一首
*/
- (void)next;
/**
上一首
*/
- (void)previous;
播放 TTS
调用下面方法播放一个 TTS 字符串:
/**
播放tts
@param ttsText 播放的文本
*/
- (void)playTTS:(NSString *)ttsText;
设置唤醒模式
目前 SDK 有两种模式:
- 唤醒识别模式:一直在收音,监听到
小雅小雅
关键词后,开始识别。 - 按键识别模式:通过主动调用
开始识别
和结束识别
方法,来识别用户录音的录入,不会一直开启收音。
实现点触识别
在按钮按下的时候,开始识别:
[self.ossdk startRecognize];
在识别的回调中,监听结束方法,停止识别(参考Demo实现):
[self.ossdk stopRecognize];
注意:调用
startRecognize
后,一次完整语音交互后,如果没有调用StopRecognize
,再继续说话,也不会继续识别,产生交互了
写入语音数据
通过手机、蓝牙设备等录音得到的数据,可使用以下接口进行写入,触发SDK的语音识别功能。
/**
写入录音数据
@param data 录音数据
@param length 长度
*/
- (void)writeRecordData:(Byte *)data length:(NSUInteger)length;
data为Byte *类型,NSData可转为Byte后传入,建议长度256。