DuerOS-Android-SDK O N ðopen-platform-api-doc.bj.bcebos.com/DuerOS-Android... · È é { M µ Æ...
Transcript of DuerOS-Android-SDK O N ðopen-platform-api-doc.bj.bcebos.com/DuerOS-Android... · È é { M µ Æ...
SDK Android
DuerOS Android SDK( “SDK” Android (SDK) DCS DuerOSDuerOS API DCS SDK DCS DuerOS
Android Android
Vad Touch
CLIENT_ID CLIENT_ID
Android Studio
Android 4.1
jar so jar so
jar
demo libs jar app/libs gradle dependencies jar
DuerOS-Android-SDK
SDK
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs')
// url compile name: 'bdplayer-1.0.0', ext: 'aar' // compile project(':location') // ------- def jacksonVersion = '2.9.1' compile "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}" compile "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}" compile "com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}" compile files('libs/commons-fileupload-1.3.2.jar') compile files('libs/commons-lang3-3.4.jar') compile files('libs/commons-io-2.5.jar') compile files('libs/okhttp-3.8.1.jar') compile files('libs/okio-1.14.0.jar') compile files('libs/jlayer-1.0.1.jar') compile files('libs/turbonet.jar') compile files('libs/localtts-2.3.2.jar') compile files('libs/dcssdk- .jar') compile files('libs/crablite2.1.jar') compile files('libs/speechv3.jar') compile files('libs/fastjson-1.2.46.jar')}
so armeabi armeabi-v7a so app/src/main/jniLibs
app/src/main/jniLibs Android Studio so so app/libs gradlejniLibs.srcDirs = ['libs']
AndroidManifest.xml audio ( )
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
SDK PID APP_KEY PID APP_KEY PID
pid 1703key com.baidu.dumi.open
pid 1704key com.baidu.dumi.open.far
Android5.0 crash android4.4
SDK
PID APPKEY
Multi-Dex
crash gradle buildType multiDexKeepFile file('multidex-config.txt') multidex-config.txtgradle multidex-config.txt
com/baidu/duer/dcs/tts/TtsImpl.classcom/alibaba/fastjson/JSON.classcom/baidu/duer/dcs/util/http/callback/DcsCallback.classcom/baidu/duer/dcs/util/http/callback/ResponseCallback.classcom/baidu/duer/dcs/util/http/callback/SimpleCallback.classcom/baidu/duer/dcs/util/util/ObjectMapperUtil.classorg/apache/commons/io/output/StringBuilderWriter.classcom/fasterxml/jackson/databind/introspect/BasicBeanDescription.classcom/fasterxml/jackson/core/io/SegmentedStringWriter.classcom/baidu/tts/g/a/a.classcom/fasterxml/jackson/databind/deser/impl/FailingDeserializer.classjava/lang.reflect.ParameterizedType.classcom/baidu/duer/dcs/componentapi/AbsDcsClient.classcom/baidu/duer/dcs/devicemodule/audioplayer/message/PlaybackStatePayload.classcom/baidu/speech/core/BDSCoreJniInterface.classcom/baidu/duer/dcs/basiclibs/turbonet/TurbonetRequestImpl.classcom/fasterxml/jackson/databind/introspect/SimpleMixInResolver.classcom/baidu/duer/dcs/basiclibs/turbonet/CallImpl.class
crash DcsSDK
demo jar demo proguard-rules.pro
dcs-sdk jar
-dontwarn ai.kitt.snowboy.**-keep class ai.kitt.snowboy.** {*;}-dontwarn com.baidu.duer.**-keep class com.baidu.duer.** {*;}-dontwarn com.baidu.dcs.acl.**-keep class com.baidu.dcs.acl.** {*;}
dcs-sdk Demo proguard-rules.pro
1. 2. · id ·3. sdk id StandbyDeviceIdUtil.getStandbyDeviceId() SHA256 android_id + imei + Mac + 32 UUID 64 ID apk -> -> apk -> ->4.dueros-device-id id ID IMEI ID 64 64 ID : A-Z : a-z : 0-9 : -_
sdk (sdk )
ID
BaseAudioRecorder audioRecorder = new AudioRecordImpl(); IOauth oauth = new OauthCodeImpl(CLIENT_ID, this); // OauthCode CLIENT_ID, DcsSdkBuilder builder = new DcsSdkBuilder(); SdkConfigProvider sdkConfigProvider = new DefaultSdkConfigProvider() { @Override public String clientId() { // CLIENT_ID client_id return CLIENT_ID; }
@Override public int pid() { // PID return PID; }
}; dcsSdk = builder.withSdkConfig(sdkConfigProvider) .withOauth(oauth) .withAudioRecorder(audioRecorder) // 1.withDeviceId ID // 2. // id // // 3.sdk // StandbyDeviceIdUtil.getStandbyDeviceId() // SHA256 android_id + imei + Mac + 32 UUID) 64 // ID apk -> -> // apk -> -> .withDeviceId(StandbyDeviceIdUtil.getStandbyDeviceId()) .build();
sdk
((DcsSdkImpl) dcsSdk).getInternalApi().login(new ILoginListener() { @Override public void onSucceed(String accessToken) { dcsSdk.run(); Toast.makeText(SDKBaseActivity.this.getApplicationContext(), " ", Toast .LENGTH_SHORT).show(); }
@Override public void onFailed(String errorMessage) { Toast.makeText(SDKBaseActivity.this.getApplicationContext(), " ", Toast .LENGTH_SHORT).show(); Log.e(TAG, "login onFailed. "); finish(); }
@Override public void onCancel() { Toast.makeText(SDKBaseActivity.this.getApplicationContext(), " ", Toast .LENGTH_SHORT).show(); Log.e(TAG, "login onCancel. "); finish(); }});
sdk
dcsSdk.release();
SDK
OAuth :OAuth
DcsSdkBuilder withOauth(IOauth oauth) InternalApi login onSucceed
demo
IOauth oauth = new OauthCodeImpl(CLIENT_ID, this)
Oauth DUEROS
1. -->>OAUTH CONFIG URL -->> -->>2.
https://xiaodu.baidu.com/saiya/device/oauthCallback?client_id=********* (********* client_id)3. xiaodu.baidu.com
cancelVoiceRequest cancelVoiceRequest
// canceldcsSdk.getVoiceRequest().cancelVoiceRequest(false, new com.baidu.duer.dcs.api.IVoiceRequestListener() { @Override public void onSucceed() { dcsSdk.getVoiceRequest().beginVoiceRequest(vad); }});
dcsSdk.getVoiceRequest().endVoiceRequest(new IVoiceRequestListener() { @Override public void onSucceed() { }});
Authorization Code
Authorization Code
IVoiceRequest.beginVoiceRequest
IVoiceRequest.endVoiceRequest
IVoiceRequest.cancelVoiceRequest
dcsSdk.getVoiceRequest().cancelVoiceRequest(true, new IVoiceRequestListener() { @Override public void onSucceed() { Log.d(TAG, "cancelVoiceRequest onSucceed"); }});
1. enableVad true endVoiceRequest() 2. endVoiceRequest() cancelVoiceRequest() 3. endVoiceRequest() cancelVoiceRequest()
4. beginVoiceRequest() endVoiceRequest() cancelVoiceRequest()
add remove
dcsSdk.getVoiceRequest().addDialogStateListener(IDialogStateListener dialogStateListener);dcsSdk.getVoiceRequest().removeDialogStateListener(IDialogStateListener dialogStateListener);
IDLE --> LISTENING --> THINKING ( ) --> SPEAKING ( ) --> IDLE IDialogStateListener
op1=>operation: IDLEop2=>operation: LISTENINGop3=>operation: THINKINGop4=>operation: SPEAKINGop1(right)->op2(right)->op3(right)->op4(right)
sdk Kitt Snowboy KittWakeUpImpl
WakeUp IWakeupProvider API
final BaseWakeup wakeup = new KittWakeUpImpl();IWakeupProvider wakeupProvider = new IWakeupProvider() { @Override public WakeUpConfig wakeUpConfig() { // // index Snowboy // 5 " " index 1-5 // WakeUpWord List<WakeUpWord> wakeupWordList = new ArrayList<>(); wakeupWordList.add(new WakeUpWord(1, " ")); wakeupWordList.add(new WakeUpWord(2, " ")); wakeupWordList.add(new WakeUpWord(3, " ")); wakeupWordList.add(new WakeUpWord(4, " ")); wakeupWordList.add(new WakeUpWord(5, " ")); final List<String> paths = new ArrayList<>(); paths.add(WAKEUP_UMDL_PATH); return new WakeUpConfig.Builder() .resPath(WAKEUP_RES_PATH) .umdlPath(paths) .sensitivity(WAKEUP_SENSITIVITY) .highSensitivity(WAKEUP_HIGH_SENSITIVITY) .wakeUpWords(wakeupWordList) .build(); }
@Override public boolean enableWarning() { return ENABLE_PLAY_WARNING; }
@Override public String warningSource() { // // assets assets:// // sd return "assets://ding.wav"; }
@Override public float volume() { // // [0-1] return 0.8f; }
@Override public boolean wakeAlways() { return SDKBaseActivity.this.enableWakeUp(); }
@Override public BaseWakeup wakeupImpl() { return wakeup; } @Override public int audioType() { // return AudioManager.STREAM_SYSTEM; }};
IWakeupAgent wakeupAgent = getInternalApi().getWakeupAgent();if (wakeupAgent != null) { wakeupAgentListener = new IWakeupAgent.SimpleWakeUpAgentListener() { @Override public void onWakeupSucceed(WakeUpWord wakeUpWord) { Toast.makeText(SDKBaseActivity.this, " " + wakeUpWord.getWord(), Toast.LENGTH_SHORT).show(); } }; wakeupAgent.addWakeupAgentListener(wakeupAgentListener); }
WakeUpProvider
dcsSdk = builder.withWakeupProvider(wakeupProvider) // sdk
getInternalApi().initWakeUp();
private void initWakeUpAgentListener() { IWakeupAgent wakeupAgent = getInternalApi().getWakeupAgent(); if (wakeupAgent != null) { wakeupAgentListener = new IWakeupAgent.SimpleWakeUpAgentListener() { @Override public void onWakeupSucceed(WakeUpWord wakeUpWord) { Toast.makeText(SDKBaseActivity.this, " " + wakeUpWord.getWord(), Toast.LENGTH_LONG).show(); } }; wakeupAgent.addWakeupAgentListener(wakeupAgentListener); }}
sdk BaseWakeup BaseWakeup
a simple demo -
public class MyWakeUpImpl extends BaseWakeup { private BaseAudioRecorder audioRecorder;
private BaseAudioRecorder.IRecorderListener recorderListener = new BaseAudioRecorder.SimpleRecorderListener() { @Override public void onData(byte[] data) { // pcm // ... } };
public MyWakeUpImpl(BaseAudioRecorder audioRecorder) { super(); this.audioRecorder = audioRecorder; }
@Override public void initWakeup(WakeUpConfig wakeUpConfig) { super.initWakeup(wakeUpConfig); // // ... }
@Override public void startWakeup() { // IInteractionStrategy // ... }
@Override public void stopWakeup(IStopWakeupListener stopWakeupListener) { // // ... }
@Override public void release() { super.release(); // // ... }
}
1. AndroidManifest.xml
<!-- KITT --> <service android:name="com.baidu.duer.kitt.KittWakeUpService" android:enabled="true" android:process=":kittwakeup" />
1.
final BaseWakeup wakeup = new KittWakeUpServiceImpl(audioRecorder);
longspeech
1. sdcardAsrParam.ASR_OFFLINE_ENGINE_DAT_FILE_PATH = Environment.getExternalStorageDirectory() + "/libbd_model_easr_dat.so";
2. 0: 1: 2: 0AsrParam.ASR_OFFLINE_PUNCTUATION_SETTING_VALUE = 1;
3.
AsrParam.ASR_DECODER = 1;
asrMode = DcsConfig.ASR_MODE_OFFLINE
asrOnly = true
4. license licenseAsrParam.ASR_OFFLINE_ENGINE_LICENSE_FILE_PATH = "assets://temp_wakeup_license";
TTS
InternalApi speakOfflineQuery (String text)
SDK BaseDeviceModule demoBaseDeviceModule DeviceModule dcsSdk.putDeviceModule(BaseDeviceModule deviceModule);
BaseDeviceModule
DCS namespace DeviceModule
namespace name Payload
BaseDeviceModule
public abstract void handleDirective(Directive directive) throwsHandleDirectiveException;
public abstract HashMap> supportPayload() ; Payload
public abstract void release() ;SDK release()DeviceModule
public abstract ClientContext clientContext() ; null
SDK :
// IMessageSender SDK dcs eventIMessageSender messageSender = getInternalApi().getMessageSender();screenDeviceModule = new ScreenDeviceModule(messageSender);screenDeviceModule.addScreenListener(screenListener);dcsSdk.putDeviceModule(screenDeviceModule);
TTS
sdk
DcsSdkBuilder
DcsSdkBuilder withSdkConfig (SdkConfigProvider sdkConfigProvider)
DcsSdkBuilder withOauth (IOauth oauth)
DcsSdkBuilder withDeviceId (String deviceId) id
DcsSdkBuilder withWakeupProvider (IWakeupProvider wakeupProvider)
DcsSdkBuilder withAudioRecorder (BaseAudioRecorder audioRecorder)
DcsSdkBuilder withProductVersion (String appVersion)
DcsSdkBuilder withMediaPlayer (IMediaPlayer mediaPlayer) sdk
DcsSdkBuilder withSpeakerDecoder (IDecoder decoder)
DcsSdkBuilder withSpeakerPlayer (IMediaPlayer mediaPlayer)
IDcsSdk build () sdk
IDcsSdk
void run (OnInitListener listener)sdk
void release ()
IVoiceRequest getVoiceRequest ()
void putDeviceModule (BaseDeviceModule deviceModule)
void addConnectionStatusListener (IConnectionStatusListenerconnectStatusListener)
void removeConnectionStatusListener (IConnectionStatusListenerconnectStatusListener)
SdkConfigProvider
String clientId () ClientId
int pid () PID PID
int regionId () id
HttpProxy ~~ httpProxy ~~()
boolean compressPCM () PCM
boolean asrOnly () ASR
String appKey () appkey pid
boolean longSpeech ()
int asrAudioSource () audiosource
IConnectionStatusListener
sdk
void onConnectStatus (ConnectionStatus connectionStatus)
ConnectionStatusDISCONNECTEDPENDING ( )CONNECTED ( )
PlaybackControllerDeviceModule.CommandIssued
CommandIssuedPlay
CommandIssuedPause
CommandIssuedPrevious
CommandIssuedNext
IResponseListener
void onSucceed (int statusCode); statusCode http code
void onFailed (DcsErrorCode dcsErrorCode); dcsErrorCode
void onCancel ();
IDirectiveReceivedListener
void onDirective (Directive directive)
Directive
public Header header ; json header
public Payload payload ; json payload
private String rawMessage ; json
public String rawPayload ; payload
public JSONObject jsonObjectDirective ; jsonobject
IDcsRequestBodySentListener
void onDcsRequestBody (DcsRequestBody dcsRequestBody)
Location.LocationHandler
double getLongitude ();
double getLatitude ();
String getCity ();
EGeoCoordinateSystem getGeoCoordinateSystem ()
EGeoCoordinateSystem
WGS84
BD09LL
BD09MC
IVoiceRequest
void beginVoiceRequest (boolean enableVad),enableVad true: Vad false touch
void endVoiceRequest (final IVoiceRequestListenerlistener)
,
void cancelVoiceRequest (finalIVoiceRequestListener listener)
void cancelVoiceRequest (boolean initiative,IVoiceRequestListener listener)
true false
void addDialogStateListener (IDialogStateListenerdialogStateListener)
listener
voidremoveDialogStateListener (IDialogStateListener
dialogStateListener)listener
IVoiceRequestListener
void onSucceed ();
IDialogStateListener
void onDialogStateChanged (DialogState dialogState) dialogState
DialogState
IDLE ( )LISTENING ( )THINKING ( )SPEAKING ( ( )tts )
BaseDeviceModule
protected final String nameSpace DeviceModule
protected final IMessageSender messageSender event
public abstract ClientContext clientContext ()
public abstract void handleDirective (Directivedirective) throws HandleDirectiveException;
public abstract HashMap> supportPayload ()deviceModule Payload,@return HashMap> key
NameSpace+ value payload class
public abstract void release (); sdk.release sdk
public String getNameSpace () DeviceModule nameSpace
IWakeupProvider
WakeUpConfigwakeupConfig ();
booleanenableWarning ();
StringwarningSource ();
android assets assets urlassets://filename
float volume (); 0<= <=1;
boolean wakeAlways ()
BaseWakeupwakeupImpl ()
int audioType () AudioManager STREAM_SYSTEM
WakeUpConfig.Builder
Builder resPath (String resPath) Snowboy .res assets
Builder umdlPath (String umdlPath) Snowboy .umdl assets
Builder sensitivity (Stringsensitivity)
Snowboy ',' "0.35,0.35,0.45"
Builder wakeUpWords (ListwakeUpWords)
Snowboy3 index 1 2 3
Builder highSensitivity (StringhighSensitivity)
( Snowboy - 2 ',' "0.45,0.45,0.55"
BuilderonPlayingSensitivity (String
onPlayingSensitivity)MediaPlayer Snowboy ','
BuilderonPlayingHighSensitivity (String
onPlayingHighSensitivity)MediaPlayer Snowboy - 2 ','
Builder audioGain (float audioGain) Snowboy >1
WakeUpWord
int index 1...N
String word
byte[] wakeUpWordAudioData
long time ms
boolean isOneshot oneshot
BaseWakeup
public void initWakeup (WakeUpConfig wakeUpConfig)
public abstract void startWakeup ()
public abstract void stopWakeup (IStopWakeupListener l)
public void release ()
public void addWakeupListener (IWakeupListener listener)
public void removeWakeupListener (IWakeupListener listener)
protected void fireOnWakeUpSucceed (WakeUpWord wakeUpWord)
protected void fireOnInitWakeUpSucceed ()
protected void fireOnInitWakeUpFailed (String errorMessage) errorMessage
public void setSupportOneShot (boolean supportOneShot) oneshot
public void setSensitivity (String sensitivity)
public void setHighSensitivity (String highSensitivity) 2
IWakeupAgent
void addWakeupAgentListener (IWakeupAgentListener listener) listener
void removeWakeupAgentListener (IWakeupAgentListener listener) listener
IWakeupAgentListener
void onInitWakeUpSucceed ()
void onInitWakeUpFailed (String errMsg)
void onWakeupSucceed (WakeUpWord wakeUpWord) wakeUpWord
void onWarningCompleted ()
void onWarningError (String error, IMediaPlayer.ErrorType errorType)
IWakeupListener
void onInitWakeUpSucceed () ,
void onInitWakeUpFailed (String errorMessage) errorMessage
void onWakeupSucceed (WakeUpWord wakeUpWord) wakeUpWord
IStopWakeupListener
void onStopWakeup ()
IUpload
void uploadPhoneContacts (String contacts, boolean forceUpload, IUploadListener listener)
void uploadWechatContacts (String contacts, IUploadListener listener)
IOauth
void getToken (IOauthCallback listener) accessToken
void clearAccessToken () accessToken
IOauthCallback
void onSucceed (String accessToken) accessToken
void onError (String errorMsg) accessToken
void onCancel () accessToken Oauth code
ILoginListener
void onSucceed (String accessToken)
void onFailed (String errorMessage)
void onCancel ()
IErrorListener
void onErrorCode (DcsErrorCode errorCode)
DcsErrorCode
error suberror errorMsg( ) originMsg ( )
error suberror
VOICE_REQUEST_EXCEPTION NETWORK_UNAVAILABLE
VOICE_REQUEST_EXCEPTION TOKEN_IS_EMPTY accessToken
VOICE_REQUEST_EXCEPTION DIRECTIVE_IS_PENDING
VOICE_REQUEST_EXCEPTION 1003 1005
VOICE_REQUEST_EXCEPTION 2000 2002 2003 2004 2005 2006 2100
VOICE_REQUEST_EXCEPTION 3001
VOICE_REQUEST_EXCEPTION 3100 VAD
VOICE_REQUEST_EXCEPTION 3101 VAD
VOICE_REQUEST_EXCEPTION 3102 VAD
VOICE_REQUEST_EXCEPTION 4001 4002 4003 4004
VOICE_REQUEST_EXCEPTION 5001
VOICE_REQUEST_EXCEPTION 6001
VOICE_REQUEST_EXCEPTION 7001
VOICE_REQUEST_EXCEPTION 8001
VOICE_REQUEST_EXCEPTION 9001
VOICE_REQUEST_EXCEPTION 10002-10012
VOICE_REQUEST_EXCEPTION 11002-11010
VOICE_REQUEST_EXCEPTION
LOGIN_EXCEPTION LOGIN_FAILED
LOGIN_EXCEPTION LOGIN_CANCEL
DECODER_FAILED DECODER_FAILED
REQUEST_HINT INVALID_REQUEST
REQUEST_HINT UNAUTHORIZED_REQUEST
REQUEST_HINT THROTTLING_EXCEPTION /
REQUEST_HINT INTERNAL_SERVICE_EXCEPTION
REQUEST_HINT NA
EVENT_REQUEST_EXCEPTION EVENT_TOKEN_ISNULL token
EVENT_REQUEST_EXCEPTION EVENT_ISNULL
JSON_PARSE_EXCEPTION JSON_PARSE_EXCEPTION json
DIRECTIVE_EXCEPTION DIRECTIVE_EXCEPTION
TtsOnlineInfo
-
volume 0-9
speed 0-9
pitch 0-9
speaker 0: 1: 2: 3: " " 4: " "
aue MP3, : AUDIO_FORMAT_
rate : AUDIO_BITRATE_
xml xml
TtsInfoHelper.IUpdateTtsCallback
void success ()
void error (String errMsg) errMsg
InternalApi
public InternalApi (DcsSdkImpl dcsSdkimp) IDcsSdk
public void sendQuery (String query) , query
public void speakRequest (String text) tts
public void speakOfflineRequest (String text) - tts
public void stopSpeaker () tts ,
public void pauseSpeaker () ( tts tts )
public void resumeSpeaker () ( tts tts )
public void interruptSpeaker ()( tts tts )
speaker play pauseSpeakerresumeSpeaker
public void updateOnlineTtsInfo (String clientId, TtsOnlineInfo info,TtsInfoHelper.IUpdateTtsCallback callback)
tts
public void initWakeUp ()IWakeupProvider.wakeAlways true
public void stopWakeup (IStopWakeupListener l)
public void startWakeup ()
public void uninitWakeUp (IStopWakeupListener listener)
public AbsDcsClient getDcsClient () AbsDcsClient
public BaseDeviceModule getDeviceModule (String namespace) DeviceModule
public void removeDeviceModule (String nameSpace) DeviceModule
public IMessageSender getMessageSender () sdk event
public IWakeupAgent getWakeupAgent () listener
API ( )
public float getCurrentVolume ()
public void setVolume (float volume) ,0<=volume<=1
public voidsendCommandIssuedEvent (PlaybackControllerDeviceModule.CommandIssued
commandIssued)
public String getDeviceID () id
public void postEvent (Event event, IResponseListener responseListener) event
public void postEvent (JSONObject event, IResponseListenerresponseListener)
event
public void handleDirective (Directive directive)
public void addDirectiveReceivedListener (IDirectiveReceivedListenerlistener)
listener
public void removeDirectiveReceivedListener (IDirectiveReceivedListenerlistener)
listener
public void addRequestBodySentListener (IDcsRequestBodySentListenerlistener)
listener
public voidremoveRequestBodySentListener (IDcsRequestBodySentListener listener)
listener
public Location.LocationHandler getLocationHandler ()
public void setLocationHandler (Location.LocationHandler handler) handler
public void setAsrMode (int asrMode) asr
public void setSupportOneshot (boolean isOneshot) oneshot
public void setInteractionStrategy (IInteractionStrategy wakeUpStrategy) -
public void login (ILoginListener loginListener)
public IUpload getUpload () ( & )
public ISmartHomeManager getSmartHomeManager ()
public void addErrorListener (IErrorListener listener) sdk
public void removeErrorListener (IErrorListener listener) sdk
public void logout ()
public void addAudioPlayListener (IMediaPlayer.IMediaPlayerListenerlistener)
public void removeAudioPlayListener (IMediaPlayer.IMediaPlayerListenerlistener)
public void addFinishedDirectiveListener (IFinishedDirectiveListenerlistener)
ASR/TextInput
public void removeFinishedDirectiveListener (IFinishedDirectiveListenerlistener)
ASR/TextInput
public void addTTSPositionInfoListener (ITTSPositionInfoListener listener) TTS
public void removeTTSPositionInfoListener (ITTSPositionInfoListenerlistener)
TTS
public void exitMultiScene ()
public IOauth getOauth ()
public boolean isLogin ()
public void addListenerToAllMediaPlayer (IMediaPlayerListener listener) MediaPlayer
public void removeListenerToAllMediaPlayer (IMediaPlayerListenerlistener)
MediaPlayer
public void setDebugBot (String botId) botId id
public BaseAudioInput getAudioInput () audioinput
public IDcsInternalProvider getDcsInternalProvider () DCS
public void addNearAsrEndListener (INearAsrEndListener listener) touch asr
public void removeNearAsrEndListener (INearAsrEndListener listener) touch asr
public void switchAsrToNear (final BaseAudioRecorder audioRecorder, finalISwitchAsrNearFarListener listener)
asr
public void switchAsrToFar (final BaseAudioRecorder audioRecorder, finalISwitchAsrNearFarListener listener)
asr
public TtsImpl initLocalTts (Context context, String pid, String key, StringapiKey, String secretkey)
tts
public TtsImpl initLocalTts (Context context, String pid, String key, StringapiKey, String secretkey,String appId, String licenseFile)
tts
public TtsImpl initLocalTts (Context context, int streamType, String pid, Stringkey, String apiKey,String secretkey, String appId, String licenseFile)
tts
public void setBDuss (String bduss) bduss
public void setSpeakerStreamType (int streamType) AudioTrack StreamType
public void setSpeakerUsage (int usage) AudioTrack Usage
public ICES getStatistics ()
public String getActiveDialogRequestId () id
IInteractionStrategy
void onInitWakeUpFinished ()
void onWakeUpFinished (WakeUpWord wakeUpWord)
void onVoiceRequestFinished ()
void onVoiceRequestStart ()
IFinishedDirectiveListener
void onFinishedDirective () ASR/TextInput
ITTSPositionInfoListener
void onPositionInfo (long pos, longplayTimeMs, long mark)
tts pos playTimeMs mark SpeakandsubContentsInCharacters mark -1
DCS DuerOS
CLIENT_ID ID
PID ID
ASR
TTS
VAD
TOUCH
oneshot
Kitt SDK Kitt Snowboy
device id / ID
longspeech 60s