Commit a376de32 by cuiliang.shi

v0.1

1 parent 5172eec3
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
</value> </value>
</option> </option>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
apply plugin: 'com.android.application' apply plugin: 'com.android.application'
android { android {
signingConfigs {
debug {
storeFile file('F:\\Cuiliang.shi\\android\\turingos\\turingos.jks')
storePassword 'agenewturing'
keyAlias = 'turingos'
keyPassword 'agenewturing'
}
}
compileSdkVersion 25 compileSdkVersion 25
buildToolsVersion '28' buildToolsVersion '28'
defaultConfig { defaultConfig {
...@@ -17,8 +25,6 @@ android { ...@@ -17,8 +25,6 @@ android {
} }
lintOptions { lintOptions {
abortOnError false abortOnError false
} }
......
The file could not be displayed because it is too large.
The file could not be displayed because it is too large.
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
...@@ -29,6 +30,7 @@ ...@@ -29,6 +30,7 @@
<application <application
android:persistent="true"
android:allowBackup="true" android:allowBackup="true"
android:label="@string/app_name" android:label="@string/app_name"
android:supportsRtl="true" android:supportsRtl="true"
......
...@@ -234,8 +234,14 @@ public class Base { ...@@ -234,8 +234,14 @@ public class Base {
setTTSListener(ttsClientListener); setTTSListener(ttsClientListener);
setActionBo(true, true); setActionBo(true, true);
AsrManager.getInstance().stop();
TTSManager.getInstance().stopTTS(); if(AsrManager.getInstance().isRecording()){
AsrManager.getInstance().stop();
}
if (TTSManager.getInstance().isSpeaking()){
TTSManager.getInstance().stopTTS();
}
record(); record();
} }
......
...@@ -2,7 +2,6 @@ package com.toscl.turingos; ...@@ -2,7 +2,6 @@ package com.toscl.turingos;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
...@@ -11,7 +10,6 @@ import android.graphics.drawable.AnimationDrawable; ...@@ -11,7 +10,6 @@ import android.graphics.drawable.AnimationDrawable;
import android.os.Build; import android.os.Build;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
...@@ -86,16 +84,18 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -86,16 +84,18 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.AppTheme); setTheme(R.style.AppTheme);
requestWindowFeature(Window.FEATURE_NO_TITLE); requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN); WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
mContext = this; mContext = this;
recognize = (Button) findViewById(R.id.iat_recognize); recognize = (Button) findViewById(R.id.iat_recognize);
...@@ -145,7 +145,6 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -145,7 +145,6 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
operateAll(); operateAll();
} }
}); });
initSDK();
musicHandler.mOnMiGuPlayStateListener = mOnPlayerStateListener; musicHandler.mOnMiGuPlayStateListener = mOnPlayerStateListener;
musicHandler.mOnTuringPlayStateListener = mOnTuringPlayStateListener; musicHandler.mOnTuringPlayStateListener = mOnTuringPlayStateListener;
...@@ -159,6 +158,9 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -159,6 +158,9 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
}); });
playViewWrapper = (RelativeLayout) findViewById(R.id.ai_music); playViewWrapper = (RelativeLayout) findViewById(R.id.ai_music);
initSDK();
} }
...@@ -311,48 +313,41 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -311,48 +313,41 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
private AuthenticationListener authenticationListener = new AuthenticationListener() { private AuthenticationListener authenticationListener = new AuthenticationListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
runOnUiThread(new Runnable() { mLoginSuccess = true;
@Override
public void run() {
mLoginSuccess = true;
TTSManager.getInstance().init(getApplicationContext(), new TTSInitListener() {
@Override
public void onSuccess() {
TTSManager.getInstance().setEnhancerEnable(true);
LogUtil.e(TAG, "TTS init success");
}
@Override
public void onFailed(int i, String s) {
LogUtil.e(TAG, "TTS init failed errorCode=" + i + " errorMsg=" + s);
}
});
AsrManager.getInstance().init(getApplicationContext(), new InitialListener() {
@Override
public void onInitialSuccess() {
LogUtil.e(TAG, "ASR init success");
}
@Override
public void onInitialError(int errorCode, String asrErrorMessage) {
LogUtil.e(TAG, "ASR init failed errorCode=" + errorCode + " errorMsg=" + asrErrorMessage);
}
});
TTSManager.getInstance().init(getApplicationContext(), new TTSInitListener() {
@Override
public void onSuccess() {
TTSManager.getInstance().setEnhancerEnable(true);
Log.d(TAG, "TTS init success");
if (mFirstIn) { if (mFirstIn) {
mFirstIn = false;
List<String> ttsSequenceList = new ArrayList<>(); List<String> ttsSequenceList = new ArrayList<>();
ttsSequenceList.add("我是" + getString(R.string.app_name) + ",有什么可以帮你的吗"); ttsSequenceList.add("我是" + getString(R.string.app_name) + ",有什么可以帮你的吗");
// mResultText.setText(ttsSequenceList.get(0));
handleTtsOfWelcome(ttsSequenceList); handleTtsOfWelcome(ttsSequenceList);
addContactToRobot(); addContactToRobot();
mFirstIn = false;
} }
} }
@Override
public void onFailed(int i, String s) {
LogUtil.e(TAG, "TTS init failed errorCode=" + i + " errorMsg=" + s);
}
});
AsrManager.getInstance().init(getApplicationContext(), new InitialListener() {
@Override
public void onInitialSuccess() {
LogUtil.e(TAG, "ASR init success");
}
@Override
public void onInitialError(int errorCode, String asrErrorMessage) {
LogUtil.e(TAG, "ASR init failed errorCode=" + errorCode + " errorMsg=" + asrErrorMessage);
}
}); });
} }
...@@ -369,12 +364,14 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -369,12 +364,14 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
msg.obj = s; msg.obj = s;
mLoadToastHandler.sendMessageAtTime(msg, 100); mLoadToastHandler.sendMessageAtTime(msg, 100);
handleAiDialog(false); traceTheErrorAndShowIt();
//startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); //直接进入手机中的wifi网络设置界面
//Toast.makeText(MainActivity.this, "错误码:" + errorCode + " 错误信息:" + s, Toast.LENGTH_SHORT).show();
} }
}); });
if (errorCode == 50000){
mGlobalDialog.setTitleText("请检查网络后重试");
mGlobalDialog.show();
}
Log.e(TAG, "errorCode=" + errorCode + " errorMsg=" + s); Log.e(TAG, "errorCode=" + errorCode + " errorMsg=" + s);
} }
}; };
...@@ -515,7 +512,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -515,7 +512,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
// mResultText.setText(welcome); // mResultText.setText(welcome);
} }
} else { } else {
if (textValue.length() <=12){ if (textValue.length() <=12 || textValue.contains("请听我唱")){
Message msg = new Message(); Message msg = new Message();
msg.arg1 = 2; msg.arg1 = 2;
msg.obj = textValue; msg.obj = textValue;
...@@ -527,19 +524,12 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -527,19 +524,12 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
mGlobalDialog.show(); mGlobalDialog.show();
// mResultText.setText(textValue);
handleAiDialog(false);
} }
setStatusLayout(); setStatusLayout();
Log.d(TAG, "processSequence" + intent.getCode()); Log.d(TAG, "processSequence" + intent.getCode());
// if (intent.getCode() == 201601 ||
// intent.getCode() == 200802 || intent.getCode() == 200101){
// handleTts(intent, ttsSequenceList);
// } else{
// handleTts(intent, ttsSequenceList);
// }
handleTts(intent, ttsSequenceList); handleTts(intent, ttsSequenceList);
} }
...@@ -605,21 +595,45 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -605,21 +595,45 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
case 2: case 2:
mLoadToast.setText(msg.obj.toString()); mLoadToast.setText(msg.obj.toString());
mLoadToast.show(); mLoadToast.show();
break;
case 3:
mLoadToast.setText(msg.obj.toString());
mLoadToast.show();
mGlobalDialog.cancel();
mGlobalDialog = new SweetAlertDialog(mContext, SweetAlertDialog.WARNING_TYPE)
.setTitleText(msg.obj.toString())
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sDialog) {
operateAll();
}
});
mGlobalDialog.show();
if (mLoginSuccess){
List<String> ttsSequenceList = new ArrayList<>();
ttsSequenceList.add(msg.obj.toString());
handleTtsOfWelcome(ttsSequenceList);
}
break;
} }
} }
}; };
private void handleTtsOfWelcome(final List<String> ttsSequenceList) { private void handleTtsOfWelcome(final List<String> ttsSequenceList) {
Log.d(TAG, "ttsSequenceList SIZE = " + ttsSequenceList.size()); Log.d(TAG, "ttsSequenceList SIZE = " + ttsSequenceList.size());
Message msg = new Message();
msg.arg1 = 2;
msg.obj = ttsSequenceList.get(0);
mLoadToastHandler.sendMessageAtTime(msg, 100);
if (ttsSequenceList.size() > 0) { if (ttsSequenceList.size() > 0) {
TTSManager.getInstance().startTTS(ttsSequenceList.get(0), new TTSListener() { TTSManager.getInstance().startTTS(ttsSequenceList.get(0), new TTSListener() {
@Override @Override
public void onSpeakBegin(String s) { public void onSpeakBegin(String s) {
Log.d(TAG, "handleTtsOfWelcome - ttsSequenceList onSpeakBegin"); Log.d(TAG, "handleTtsOfWelcome - ttsSequenceList onSpeakBegin");
Message msg = new Message();
msg.arg1 = 2;
msg.obj = ttsSequenceList.get(0);
mLoadToastHandler.sendMessageAtTime(msg, 100);
} }
@Override @Override
...@@ -649,6 +663,8 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -649,6 +663,8 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
} else { } else {
Log.d(TAG, "ttsSequenceList size <= 0"); Log.d(TAG, "ttsSequenceList size <= 0");
} }
ttsSequenceList.clear();
} }
private void handleTts(final Behavior.IntentInfo intent, List<String> ttsSequenceList) { private void handleTts(final Behavior.IntentInfo intent, List<String> ttsSequenceList) {
...@@ -714,17 +730,8 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -714,17 +730,8 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
} }
}; };
private void handleAiDialog(final boolean show) { private void traceTheErrorAndShowIt() {
runOnUiThread(new Runnable() { handleMyTips(getString(R.string.app_name) + "刚刚出小差了,请再试一次吧");
@Override
public void run() {
viewAiWrapper.setVisibility(show ? View.VISIBLE : View.GONE);
viewBg.setVisibility(show ? View.VISIBLE : View.GONE);
if (!show) {
animationDrawable.stop();
}
}
});
} }
...@@ -838,14 +845,13 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -838,14 +845,13 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
if (mGlobalDialog.getAlerType() == SweetAlertDialog.PROGRESS_TYPE){ if (mGlobalDialog.getAlerType() == SweetAlertDialog.PROGRESS_TYPE){
mGlobalDialog.setTitleText(list.get(0)); mGlobalDialog.setTitleText(list.get(0));
mGlobalDialog.show();
}else{ }else{
mGlobalDialog.cancel();
Log.d(TAG, "AsrListener processDialog"); Log.d(TAG, "AsrListener processDialog");
mGlobalDialog.cancel();
mGlobalDialog = new SweetAlertDialog(mContext, SweetAlertDialog.PROGRESS_TYPE); mGlobalDialog = new SweetAlertDialog(mContext, SweetAlertDialog.PROGRESS_TYPE);
mGlobalDialog.getProgressHelper().setBarColor(Color.parseColor("#A5DC86")); mGlobalDialog.getProgressHelper().setBarColor(Color.parseColor("#A5DC86"));
mGlobalDialog.setTitleText(list.get(0)); mGlobalDialog.setTitleText(list.get(0));
mGlobalDialog.setCancelable(false); mGlobalDialog.setCancelable(true);
mGlobalDialog.show(); mGlobalDialog.show();
} }
return; return;
...@@ -855,9 +861,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -855,9 +861,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
Log.d(TAG, "asrListener - onResults" + list.toString()); Log.d(TAG, "asrListener - onResults" + list.toString());
if (list != null && list.size() > 0 && !TextUtils.isEmpty(list.get(0))) { if (list != null && list.size() > 0 && !TextUtils.isEmpty(list.get(0))) {
mGlobalDialog.dismiss();
mGlobalDialog.cancel(); mGlobalDialog.cancel();
mGlobalDialog = new SweetAlertDialog(mContext, SweetAlertDialog.SUCCESS_TYPE) mGlobalDialog = new SweetAlertDialog(mContext, SweetAlertDialog.SUCCESS_TYPE)
.setTitleText(list.get(0)) .setTitleText(list.get(0))
.setContentText(""); .setContentText("");
...@@ -887,7 +891,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -887,7 +891,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
@Override @Override
public void onEndOfRecord() { public void onEndOfRecord() {
handleAiDialog(false); // traceTheErrorAndShowIt();
// mResultText.setText(getString(R.string.app_name) + "正在分析中..."); // mResultText.setText(getString(R.string.app_name) + "正在分析中...");
} }
...@@ -922,48 +926,31 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -922,48 +926,31 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
handleMyTips(getString(R.string.app_name) + "请求超时了,请再试一次吧"); handleMyTips(getString(R.string.app_name) + "请求超时了,请再试一次吧");
} }
onErrorCallback(errorMessage.getMessage()); onErrorCallback(errorMessage.getMessage());
handleAiDialog(false); traceTheErrorAndShowIt();
} }
@Override @Override
public void onVolumeChange(int i) { public void onVolumeChange(int i) {
// Log.d(TAG, "volume" + i);
if (i > 20) { if (i > 20) {
mSilentTime = System.currentTimeMillis(); mSilentTime = System.currentTimeMillis();
} }
if (System.currentTimeMillis() - mSilentTime > 3000) { if (System.currentTimeMillis() - mSilentTime > 3000) {
handleAiDialog(false); traceTheErrorAndShowIt();
AsrManager.getInstance().stop(); AsrManager.getInstance().stop();
TTSManager.getInstance().stopTTS(); TTSManager.getInstance().stopTTS();
} }
// animationDrawable.stop();
// animationDrawable.start();
} }
}; };
private void handleMyTips(String text) { private void handleMyTips(String text) {
// mResultText.setText(text); // mResultText.setText(text);
Log.d(TAG, "handleMyTips");
Message msg = new Message(); Message msg = new Message();
msg.arg1 = 2; msg.arg1 = 3;
msg.obj = text; msg.obj = text;
mLoadToastHandler.sendMessageAtTime(msg, 100); mLoadToastHandler.sendMessageAtTime(msg, 100);
mGlobalDialog.dismiss();
mGlobalDialog = new SweetAlertDialog(this, SweetAlertDialog.WARNING_TYPE)
.setTitleText(text)
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sDialog) {
operateAll();
}
});
mGlobalDialog.show();
List<String> ttsSequenceList = new ArrayList<>();
ttsSequenceList.add(text);
handleTtsOfWelcome(ttsSequenceList);
} }
...@@ -1014,15 +1001,14 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -1014,15 +1001,14 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
mLoadToast.setText("正在倾听中..."); mLoadToast.setText("正在倾听中...");
if (mLoginSuccess) { if (mLoginSuccess) {
// handleAiDialog(true); // traceTheErrorAndShowIt(true);
mGlobalDialog.dismiss();
mGlobalDialog.cancel();
Log.d(TAG, "AsrListener processDialog"); Log.d(TAG, "AsrListener processDialog");
mGlobalDialog.cancel();
mGlobalDialog = new SweetAlertDialog(mContext, SweetAlertDialog.PROGRESS_TYPE); mGlobalDialog = new SweetAlertDialog(mContext, SweetAlertDialog.PROGRESS_TYPE);
mGlobalDialog.getProgressHelper().setBarColor(Color.parseColor("#A5DC86")); mGlobalDialog.getProgressHelper().setBarColor(Color.parseColor("#A5DC86"));
mGlobalDialog.setTitleText("识别中..."); mGlobalDialog.setTitleText("识别中...");
mGlobalDialog.setCancelable(false); mGlobalDialog.setCancelable(true);
mGlobalDialog.show(); mGlobalDialog.show();
// animationDrawable.start(); // animationDrawable.start();
...@@ -1053,8 +1039,6 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -1053,8 +1039,6 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
playView.setChecked(false); playView.setChecked(false);
TuringMusic.getInstance().stop(); TuringMusic.getInstance().stop();
} }
// mResultText.setText(getString(R.string.app_name) + "正在聆听中...");
} }
/** /**
...@@ -1112,10 +1096,6 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -1112,10 +1096,6 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
} }
}; };
/**
* 开始播放音乐
**/
public void startMusic(String mediaUrl) { public void startMusic(String mediaUrl) {
TTSManager.getInstance().stopTTS(); TTSManager.getInstance().stopTTS();
Log.e(TAG, "media url=" + mediaUrl); Log.e(TAG, "media url=" + mediaUrl);
...@@ -1131,6 +1111,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -1131,6 +1111,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
@Override @Override
public void onSuccess() { public void onSuccess() {
Log.d(TAG, "music music success"); Log.d(TAG, "music music success");
mGlobalDialog.cancel();
TuringMusic.getInstance().play(); TuringMusic.getInstance().play();
playViewWrapper.setVisibility(View.VISIBLE); playViewWrapper.setVisibility(View.VISIBLE);
playView.requestFocus(); playView.requestFocus();
...@@ -1230,28 +1211,23 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe ...@@ -1230,28 +1211,23 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
} }
} }
/**
* @param isClick 播放资源是否可以按压
**/
private void setMusicView(boolean isClick) {
}
@Override @Override
protected void onDestroy() { protected void onDestroy() {
Log.d(TAG, "onDestroy"); Log.d(TAG, "onDestroy");
super.onDestroy(); super.onDestroy();
exitLogic(); if (mLoginSuccess) {
exitLogic();
}
} }
public void exitLogic() { public void exitLogic() {
if (AsrManager.getInstance().isRecording()) { if (AsrManager.getInstance() != null && AsrManager.getInstance().isRecording()) {
AsrManager.getInstance().cancel(); AsrManager.getInstance().cancel();
} }
if (TTSManager.getInstance().isSpeaking()) { if (TTSManager.getInstance() != null && TTSManager.getInstance().isSpeaking()) {
TTSManager.getInstance().stopTTS(); TTSManager.getInstance().stopTTS();
} }
if (TuringMusic.getInstance().isPlaying()) { if (TuringMusic.getInstance() != null &&TuringMusic.getInstance().isPlaying()) {
playViewWrapper.setVisibility(View.GONE); playViewWrapper.setVisibility(View.GONE);
playView.setChecked(false); playView.setChecked(false);
TuringMusic.getInstance().stop(); TuringMusic.getInstance().stop();
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#880E0E0E" android:background="#880E0E0E">
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true" android:focusable="true"
android:focusableInTouchMode="true" android:focusableInTouchMode="true"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:orientation="vertical" android:orientation="vertical"
android:paddingLeft="10dp" android:paddingLeft="10dp"
android:paddingRight="10dp" android:paddingRight="10dp">
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerInParent="true" android:layout_margin="10dp">
android:text=""
android:textSize="10sp" />
</RelativeLayout>
<com.toscl.turingos.view.ScrollEditText <TextView
android:id="@+id/iat_text" android:layout_width="wrap_content"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_height="0dp" android:layout_centerInParent="true"
android:layout_weight="1" android:text=""
android:gravity="top|left" android:textSize="10sp" />
android:focusable="false"
android:hint=""
android:paddingBottom="10dp"
android:textSize="20sp" />
</RelativeLayout>
<LinearLayout <com.toscl.turingos.view.ScrollEditText
android:layout_width="wrap_content" android:id="@+id/iat_text"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:layout_marginBottom="2dp" android:layout_height="0dp"
android:layout_marginTop="10dp"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<Button
android:clickable="true"
android:id="@+id/iat_recognize"
android:layout_width="45dp"
android:layout_height="49dp"
android:layout_weight="1" android:layout_weight="1"
android:background="@drawable/selector_record_bg" android:editable="false"
android:focusable="true" android:focusable="false"
android:gravity="top|left"
android:hint=""
android:paddingBottom="10dp"
android:textSize="20sp" /> android:textSize="20sp" />
</LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="2dp" android:layout_gravity="center"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:gravity="center_horizontal" android:layout_marginBottom="2dp"
android:orientation="horizontal" > android:gravity="center_horizontal"
android:orientation="horizontal">
<Button
android:id="@+id/iat_recognize"
android:layout_width="45dp"
android:layout_height="49dp"
android:layout_weight="1"
android:background="@drawable/selector_record_bg"
android:clickable="true"
android:focusable="true"
android:textSize="20sp" />
</LinearLayout> </LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="2dp"
android:gravity="center_horizontal"
android:orientation="horizontal">
</LinearLayout>
</LinearLayout> </LinearLayout>
<RelativeLayout <RelativeLayout
android:gravity="center"
android:id="@+id/ai_music" android:id="@+id/ai_music"
android:visibility="gone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/music_background"> android:gravity="center"
android:visibility="gone">
<com.toscl.turingos.view.PlayView <LinearLayout
android:layout_width="wrap_content" android:layout_width="match_parent"
android:id="@+id/playview" android:layout_height="200dp"
android:layout_height="wrap_content" android:layout_marginLeft="25dp"
android:layout_columnWeight="1" android:layout_marginRight="25dp"
android:layout_rowWeight="1" android:background="@drawable/dialog_background">
android:onClick="play" <com.toscl.turingos.view.PlayView
android:padding="10dp" android:id="@+id/playview"
android:rotation="180" android:layout_width="match_parent"
android:clickable="true" android:layout_height="wrap_content"
android:focusable="true" android:layout_rowWeight="1"
app:checked="true" android:layout_columnWeight="1"
app:pauseLineColor="@color/colorAccent" android:clickable="true"
app:pauseLineDistance="18dp" android:focusable="true"
app:pauseLineHeight="45dp" android:onClick="play"
app:pauseLineWidth="8dp" android:padding="10dp"
app:radius="50dp" android:layout_gravity="center"
app:solidColor="@color/colorAccent" android:rotation="180"
app:triangleColor="@color/colorAccent" app:checked="true"
app:triangleHeight="40dp" /> app:pauseLineColor="@color/color_3"
app:pauseLineDistance="18dp"
app:pauseLineHeight="45dp"
app:pauseLineWidth="10dp"
app:radius="50dp"
app:solidColor="@color/color_3"
app:strokeWidth="10dp"
app:triangleColor="@color/color_3"
app:triangleHeight="40dp" />
</LinearLayout>
</RelativeLayout> </RelativeLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/ai_bg" android:id="@+id/ai_bg"
android:clickable="true"
android:visibility="gone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/black_hint"> android:background="@color/black_hint"
</RelativeLayout> android:clickable="true"
android:visibility="gone"></RelativeLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/ai_wrapper" android:id="@+id/ai_wrapper"
android:visibility="gone"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:visibility="gone">
<LinearLayout <LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:orientation="horizontal">
<LinearLayout <LinearLayout
android:orientation="vertical"
android:layout_gravity="center"
android:gravity="center"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="20dp" android:layout_marginLeft="20dp"
android:layout_marginRight="20dp" android:layout_marginRight="20dp"
android:background="@drawable/shape_dialog_bg"
android:gravity="center"
android:orientation="vertical"
android:paddingTop="10dp" android:paddingTop="10dp"
android:paddingBottom="20dp" android:paddingBottom="20dp">
android:layout_height="wrap_content"
android:background="@drawable/shape_dialog_bg">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="倾听中"
android:textColor="@color/ai" android:textColor="@color/ai"
android:textSize="23sp" android:textSize="23sp" />
android:text="倾听中"/>
<ImageView <ImageView
android:id="@+id/ai_pic" android:id="@+id/ai_pic"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="80sp" android:layout_height="80sp"
android:src="@drawable/anim_record"/> android:src="@drawable/anim_record" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="百合机器人为你服务"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="16sp" android:textSize="16sp" />
android:text="百合机器人为你服务"/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
......
<resources> <resources>
<string name="app_name">M</string> <string name="app_name"></string>
<string name="turing_appkey">19693c9351fb41c9bb7b5b2695fd890b</string> <string name="turing_appkey">19693c9351fb41c9bb7b5b2695fd890b</string>
<string name="turing_secret">goV639J27FRW8Y9F</string> <string name="turing_secret">goV639J27FRW8Y9F</string>
<string name="network_error">网络慢.缓冲失败</string> <string name="network_error">网络慢.缓冲失败</string>
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!