Ceci est mon code source, il ne montre aucune erreur dans l'Ide mais, il s'arrête sur l'appareil. J'utilise la parole pour dire quelque chose au programme, et le programme dépendant de l'enregistrement, montrez-moi différentes réponses.Quel est le problème avec mon code? Je ne sais pas quoi faire
Je ne sais pas ce que faire plus. Le problème commence apparemment à partir de la méthode setText.
Merci U
protected static final int RESULT_SPEACH =1;
private Button record, speak;
TextToSpeech t1;
String SpokedText;
private EditText txtView;
private EditText txtView2;
TextToSpeech t1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mai);
record = (Button) findViewById(R.id.record);
speak = (Button) findViewById(R.id.speak);
speak.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
record();
}
});
}
public void record() {
Intent reconize = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
reconize.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
reconize.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
reconize.putExtra(RecognizerIntent.EXTRA_PROMPT, getString(R.string.Say_something));
try {
startActivityForResult(reconize, RESULT_SPEACH);
} catch (ActivityNotFoundException a) {
Toast t = Toast.makeText(getApplicationContext(), "Tu dispositivo no puede ejecutar este tipo de operaciones", Toast.LENGTH_LONG);
t.show();
}
}
@Override
public void onActivityResult (int requestCode, int resultCode, Intent Data) {
super.onActivityResult(requestCode,resultCode,Data);
switch (requestCode) {
case RESULT_SPEACH: {
if (resultCode == RESULT_OK && null != Data) {
SpokedText = data.getStringExtra(RecognizerIntent.EXTRA_RESULTS);
txtView2.setText(SpokedText);
setText(SpokedText);
}break;
}
}
}
public void setText(String string){
if (txtView2.equals("Good Morning")){
txtView.setText("Good Morning Sir");
}else if(txtView2.equals("I need your help")){
txtView.setText("Ok, ¿How can i help you?");
}
}
@Override
public void onInit(int status) {
if (status== TextToSpeech.SUCCESS){
int result = t1.setLanguage(Locale.getDefault());
if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED){
Log.e("TTS", "This Lenguaje is not supported");
}else{
speakOut();
}
}
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public void speakOut(){
String text = txtView.getText().toString();
t1.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}
}
le problème est peut-être dans le AndroidManifest Xml?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.dower.myapplication">
<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/icon"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".PantallaDeInicio"
android:label="@string/StarScreen"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.PICK_ACTIVITY"></action>
<category android:name="android.intent.category.LAUNCHER"></category>
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name=".Casanova"
android:label="@string/casaNova"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.PICK_ACTIVITY"></action>
<category android:name="android.intent.category.APP_BROWSER"></category>
<action android:name="android.intent.action.VOICE_COMMAND"></action>
<category android:name="android.intent.category.VOICE"></category>
</intent-filter>
</activity>
<!-- ATTENTION: This was auto-generated to add Google Play services to your project for
App Indexing. See https://g.co/AppIndexing/AndroidStudio for more information. -->
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
</manifest>
Merci u, mais il ne fonctionne toujours pas. : C –
@RodrigoBarboza vous devez être plus précis. Pouvez-vous poster une copie de vos erreurs? – d4c0d312