Java源码示例:ai.api.android.AIConfiguration
示例1
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listenButton = (Button) findViewById(R.id.listenButton);
resultTextView = (TextView) findViewById(R.id.resultTextView);
final AIConfiguration config = new AIConfiguration("1e03efe2dfdc4a37a3e21e5d1056a4ec",
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
int permission = ContextCompat.checkSelfPermission(this,
Manifest.permission.RECORD_AUDIO);
if (permission != PackageManager.PERMISSION_GRANTED) {
Log.i(TAG, "Permission to record denied");
makeRequest();
}
aiService = AIService.getService(this, config);
aiService.setListener(this);
}
示例2
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_aibutton_sample);
resultTextView = (TextView) findViewById(R.id.resultTextView);
aiButton = (AIButton) findViewById(R.id.micButton);
final AIConfiguration config = new AIConfiguration(Config.ACCESS_TOKEN,
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
config.setRecognizerStartSound(getResources().openRawResourceFd(R.raw.test_start));
config.setRecognizerStopSound(getResources().openRawResourceFd(R.raw.test_stop));
config.setRecognizerCancelSound(getResources().openRawResourceFd(R.raw.test_cancel));
aiButton.initialize(config);
aiButton.setResultsListener(this);
}
示例3
public GoogleRecognitionServiceImpl(final Context context, final AIConfiguration config) {
super(config, context);
final ComponentName component = RecognizerChecker.findGoogleRecognizer(context);
if (component == null) {
Log.w(TAG, "Google Recognizer application not found on device. " +
"Quality of the recognition may be low. Please check if Google Search application installed and enabled.");
}
versionConfig = VersionConfig.init(context);
if (versionConfig.isAutoStopRecognizer()) {
stopRunnable = new Runnable() {
@Override
public void run() {
stopListening();
}
};
}
}
示例4
public AIDialog(final Context context, final AIConfiguration config, final int customLayout) {
this.context = context;
this.config = config;
dialog = new Dialog(context);
handler = new Handler(Looper.getMainLooper());
dialog.setCanceledOnTouchOutside(true);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(customLayout);
partialResultsTextView = (TextView) dialog.findViewById(R.id.partialResultsTextView);
aiButton = (AIButton) dialog.findViewById(R.id.micButton);
aiButton.initialize(config);
setAIButtonCallback(aiButton);
}
示例5
@Test
public void legacyContextsWithoutParametersTest() throws AIServiceException {
final AIConfiguration config = new AIConfiguration(
"3485a96fb27744db83e78b8c4bc9e7b7",
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
config.setProtocolVersion(PROTOCOL_VERSION);
final AIDataService aiDataService = new AIDataService(RuntimeEnvironment.application, config);
final AIContext weatherContext = new AIContext("weather");
weatherContext.setParameters(Collections.singletonMap("location", "London"));
final List<AIContext> contexts = Collections.singletonList(weatherContext);
final AIRequest aiRequest = new AIRequest();
aiRequest.setQuery("and for tomorrow");
aiRequest.setContexts(contexts);
final AIResponse aiResponse = aiDataService.request(aiRequest);
// Old protocol doesn't support parameters, so response will not contains city name
assertEquals("Weather in for tomorrow", aiResponse.getResult().getFulfillment().getSpeech());
}
示例6
@Test
@Ignore("Voice recognition is not supported anymore")
public void outputContextVoiceTest() throws AIServiceException {
final AIConfiguration config = new AIConfiguration(getAccessToken(),
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.Speaktoit);
updateConfig(config);
final AIDataService aiDataService = new AIDataService(RuntimeEnvironment.application, config);
final InputStream inputStream = getClass().getClassLoader().getResourceAsStream("what_is_your_name.raw");
final AIResponse aiResponse = aiDataService.voiceRequest(inputStream);
assertNotNull(aiResponse);
assertFalse(aiResponse.getStatus().getErrorDetails(), aiResponse.isError());
assertFalse(TextUtils.isEmpty(aiResponse.getId()));
assertNotNull(aiResponse.getResult());
final String resolvedQuery = aiResponse.getResult().getResolvedQuery();
assertFalse(TextUtils.isEmpty(resolvedQuery));
assertTrue(resolvedQuery.contains("what is your"));
assertContainsContext(aiResponse, "name_question");
}
示例7
@Test
public void testRussianLanguage() throws AIServiceException {
final AIConfiguration config = new AIConfiguration(getRuAccessToken(),
AIConfiguration.SupportedLanguages.Russian,
AIConfiguration.RecognitionEngine.System);
updateConfig(config);
final AIDataService aiDataService = new AIDataService(RuntimeEnvironment.application, config);
final AIRequest aiRequest = new AIRequest("привет");
final AIResponse aiResponse = makeRequest(aiDataService, aiRequest);
assertFalse(TextUtils.isEmpty(aiResponse.getResult().getResolvedQuery()));
assertEquals("helloAction", aiResponse.getResult().getAction());
assertEquals("Добрый день", aiResponse.getResult().getFulfillment().getSpeech());
}
示例8
@Test
public void testBrazilLanguage() throws AIServiceException {
final AIConfiguration config = new AIConfiguration(getPtBrAccessToken(),
AIConfiguration.SupportedLanguages.PortugueseBrazil,
AIConfiguration.RecognitionEngine.System);
updateConfig(config);
final AIDataService aiDataService = new AIDataService(RuntimeEnvironment.application, config);
final AIRequest aiRequest = new AIRequest();
aiRequest.setQuery("oi");
final AIResponse aiResponse = makeRequest(aiDataService, aiRequest);
assertFalse(TextUtils.isEmpty(aiResponse.getResult().getResolvedQuery()));
assertEquals("helloAction", aiResponse.getResult().getAction());
assertEquals("como você está", aiResponse.getResult().getFulfillment().getSpeech());
}
示例9
@Test
public void errorTextRequestTest() {
final AIConfiguration config = new AIConfiguration("WRONG_ACCESS_TOKEN",
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
updateConfig(config);
final AIDataService aiDataService = new AIDataService(RuntimeEnvironment.application, config);
final AIRequest aiRequest = new AIRequest();
aiRequest.setQuery("Hello");
try {
aiDataService.request(aiRequest);
assertTrue("Method should produce exception", false);
} catch (final AIServiceException e) {
assertNotNull(e.getResponse());
assertEquals("unauthorized", e.getResponse().getStatus().getErrorType());
assertEquals("Authorization failed. Please check your access keys.", e.getMessage());
}
}
示例10
@Test
public void errorVoiceRequestTest() {
final AIConfiguration config = new AIConfiguration("WRONG_ACCESS_TOKEN",
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
updateConfig(config);
final AIDataService aiDataService = new AIDataService(RuntimeEnvironment.application, config);
final InputStream voiceStream = getClass().getClassLoader().getResourceAsStream("what_is_your_name.raw");
try {
aiDataService.voiceRequest(voiceStream);
assertTrue("Method should produce exception", false);
} catch (final AIServiceException e) {
assertNotNull(e.getResponse());
assertEquals("unauthorized", e.getResponse().getStatus().getErrorType());
assertEquals("Authorization failed. Please check your access keys.", e.getMessage());
}
}
示例11
private void initService(final LanguageConfig languageConfig) {
final AIConfiguration.SupportedLanguages lang =
AIConfiguration.SupportedLanguages.fromLanguageTag(languageConfig.getLanguageCode());
final AIConfiguration config = new AIConfiguration(languageConfig.getAccessToken(),
lang,
AIConfiguration.RecognitionEngine.System);
aiDataService = new AIDataService(this, config);
}
示例12
private void initService(final LanguageConfig languageConfig) {
final AIConfiguration.SupportedLanguages lang =
AIConfiguration.SupportedLanguages.fromLanguageTag(languageConfig.getLanguageCode());
final AIConfiguration config = new AIConfiguration(languageConfig.getAccessToken(),
lang,
AIConfiguration.RecognitionEngine.System);
aiDataService = new AIDataService(this, config);
}
示例13
private void initChatbot() {
final AIConfiguration config = new AIConfiguration(BuildConfig.ClientAccessToken,
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
aiDataService = new AIDataService(this, config);
customAIServiceContext = AIServiceContextBuilder.buildFromSessionId(uuid);// helps to create new session whenever app restarts
aiRequest = new AIRequest();
}
示例14
private void initService(final LanguageConfig languageConfig) {
final AIConfiguration.SupportedLanguages lang =
AIConfiguration.SupportedLanguages.fromLanguageTag(languageConfig.getLanguageCode());
final AIConfiguration config = new AIConfiguration(languageConfig.getAccessToken(),
lang,
AIConfiguration.RecognitionEngine.System);
aiDataService = new AIDataService(this, config);
}
示例15
@Override
protected void onResume() {
super.onResume();
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
String address = settings.getString("pref_ipAddress", "");
addressEdit.setText(address);
final AIConfiguration config = new AIConfiguration(
settings.getString("pref_apiKey", "a07bc2127c61497fad437dd8c197f951"),
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
aiButton.initialize(config);
aiButton.setResultsListener(new AIButton.AIButtonListener() {
@Override
public void onResult(AIResponse aiResponse) {
if (!aiResponse.isError()) {
Log.i(TAG, aiResponse.getResult().getResolvedQuery());
commandText.setText(aiResponse.getResult().getAction());
processResponse(aiResponse);
} else {
commandText.setText(aiResponse.getStatus().getErrorDetails());
}
}
@Override
public void onError(AIError aiError) {
commandText.setText(aiError.getMessage());
}
@Override
public void onCancelled() {
}
});
}
示例16
private void initService(final LanguageConfig selectedLanguage) {
final AIConfiguration.SupportedLanguages lang = AIConfiguration.SupportedLanguages.fromLanguageTag(selectedLanguage.getLanguageCode());
final AIConfiguration config = new AIConfiguration(selectedLanguage.getAccessToken(),
lang,
AIConfiguration.RecognitionEngine.System);
if (aiService != null) {
aiService.pause();
}
aiService = AIService.getService(this, config);
aiService.setListener(this);
}
示例17
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_aidialog_sample);
resultTextView = (TextView) findViewById(R.id.resultTextView);
final AIConfiguration config = new AIConfiguration(Config.ACCESS_TOKEN,
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
aiDialog = new AIDialog(this, config);
aiDialog.setResultsListener(this);
}
示例18
private void initService(final LanguageConfig selectedLanguage) {
final AIConfiguration.SupportedLanguages lang = AIConfiguration.SupportedLanguages.fromLanguageTag(selectedLanguage.getLanguageCode());
final AIConfiguration config = new AIConfiguration(selectedLanguage.getAccessToken(),
lang,
AIConfiguration.RecognitionEngine.System);
aiDataService = new AIDataService(this, config);
}
示例19
public void initialize(final AIConfiguration config) {
aiService = AIService.getService(getContext(), config);
aiService.setListener(this);
if (aiService instanceof GoogleRecognitionServiceImpl) {
((GoogleRecognitionServiceImpl) aiService).setPartialResultsListener(new PartialResultsListener() {
@Override
public void onPartialResults(final List<String> partialResults) {
if (partialResultsListener != null) {
partialResultsListener.onPartialResults(partialResults);
}
}
});
}
}
示例20
private AIDataService createDataService() {
final AIConfiguration config = new AIConfiguration(getAccessToken(),
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
updateConfig(config);
SessionIdStorage.resetSessionId(RuntimeEnvironment.application);
return new AIDataService(RuntimeEnvironment.application, config);
}
示例21
private AIDataService createDataService(final String accessToken) {
final AIConfiguration config = new AIConfiguration(accessToken,
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
updateConfig(config);
SessionIdStorage.resetSessionId(RuntimeEnvironment.application);
return new AIDataService(RuntimeEnvironment.application, config);
}
示例22
@Test
public void sessionTest() throws AIServiceException {
final AIConfiguration config = new AIConfiguration(getAccessToken(),
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
updateConfig(config);
final AIDataService firstService = new AIDataService(RuntimeEnvironment.application, config);
final AIDataService secondService = new AIDataService(RuntimeEnvironment.application, config);
{
final AIRequest weatherRequest = new AIRequest();
weatherRequest.setQuery("weather");
final AIResponse weatherResponse = makeRequest(firstService, weatherRequest);
assertNotNull(weatherResponse);
}
{
final AIRequest checkSecondRequest = new AIRequest();
checkSecondRequest.setQuery("check weather");
final AIResponse checkSecondResponse = makeRequest(secondService, checkSecondRequest);
assertNotNull(checkSecondResponse.getResult().getAction());
}
{
final AIRequest checkFirstRequest = new AIRequest();
checkFirstRequest.setQuery("check weather");
final AIResponse checkFirstResponse = makeRequest(firstService, checkFirstRequest);
assertNotNull(checkFirstResponse.getResult().getAction());
assertTrue(checkFirstResponse.getResult().getAction().equalsIgnoreCase("checked"));
}
}
示例23
@Override
protected void onCreate(final Bundle savedInstanceState) {
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_widget_sample);
final AIConfiguration config = new AIConfiguration(Config.ACCESS_TOKEN,
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
aiDialog = new AIDialog(this, config);
aiDialog.setResultsListener(new AIDialog.AIDialogListener() {
@Override
public void onResult(final AIResponse aiResponse) {
// TODO Process aiResponse
aiDialog.close();
Toast.makeText(getApplicationContext(), String.format("%s %s","Successful response: ",
aiResponse.getResult().getResolvedQuery()), Toast.LENGTH_SHORT).show();
AIWidgetActivity.this.finish();
}
@Override
public void onError(final AIError aiError) {
// TODO show error message
aiDialog.close();
Toast.makeText(getApplicationContext(), aiError.getMessage(), Toast.LENGTH_SHORT).show();
AIWidgetActivity.this.finish();
}
@Override
public void onCancelled() {
aiDialog.close();
Toast.makeText(getApplicationContext(), "Process cancelled", Toast.LENGTH_SHORT).show();
AIWidgetActivity.this.finish();
}
});
aiDialog.getDialog().setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(final DialogInterface dialog) {
Toast.makeText(getApplicationContext(), "Dialog dismissed by user", Toast.LENGTH_SHORT).show();
AIWidgetActivity.this.finish();
}
});
}
示例24
public SpeaktoitRecognitionServiceImpl(final Context context, final AIConfiguration config) {
super(config, context);
init();
}
示例25
public AIDialog(final Context context, final AIConfiguration config) {
this(context, config, R.layout.aidialog);
}
示例26
public SimpleProtocolTestingService(final Context context, final AIConfiguration config) {
super(context, config);
}
示例27
protected void updateConfig(final AIConfiguration config) {
}