Ich möchte das Popup von Google Speech deaktivieren. Ich möchte, dass es im Hintergrund läuft, also sollte kein Popup auftauchen. Ich programmiere in Visual Studio mit C# und ich möchte eine Spracherkennung App auf/in Android machen.Popup von Google Speech deaktivieren
I downloaded the sample code from the Xamarin page
Code:
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// set the isRecording flag to false (not recording)
isRecording = false;
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
// get the resources from the layout
recButton = FindViewById<Button>(Resource.Id.btnRecord);
textBox = FindViewById<TextView>(Resource.Id.textYourText);
// check to see if we can actually record - if we can, assign the event to the button
string rec = Android.Content.PM.PackageManager.FeatureMicrophone;
if (rec != "android.hardware.microphone")
{
// no microphone, no recording. Disable the button and output an alert
var alert = new AlertDialog.Builder(recButton.Context);
alert.SetTitle("You don't seem to have a microphone to record with");
alert.SetPositiveButton("OK", (sender, e) =>
{
textBox.Text = "No microphone present";
recButton.Enabled = false;
return;
});
alert.Show();
}
else
{
recButton.Click += delegate
{
// change the text on the button
recButton.Text = "End Recording";
isRecording = !isRecording;
if (isRecording)
{
// create the intent and start the activity
var voiceIntent = new Intent(RecognizerIntent.ActionRecognizeSpeech);
voiceIntent.PutExtra(RecognizerIntent.ExtraLanguageModel, RecognizerIntent.LanguageModelFreeForm);
// put a message on the modal dialog
voiceIntent.PutExtra(RecognizerIntent.ExtraPrompt, Application.Context.GetString(Resource.String.messageSpeakNow));
// if there is more then 1.5s of silence, consider the speech over
voiceIntent.PutExtra(RecognizerIntent.ExtraSpeechInputCompleteSilenceLengthMillis, 1500);
voiceIntent.PutExtra(RecognizerIntent.ExtraSpeechInputPossiblyCompleteSilenceLengthMillis, 1500);
voiceIntent.PutExtra(RecognizerIntent.ExtraSpeechInputMinimumLengthMillis, 15000);
voiceIntent.PutExtra(RecognizerIntent.ExtraMaxResults, 1);
voiceIntent.PutExtra(RecognizerIntent.ExtraLanguage, Java.Util.Locale.German);
// you can specify other languages recognised here, for example
// if you wish it to recognise the default Locale language and German
// if you do use another locale, regional dialects may not be recognised very well
voiceIntent.PutExtra(RecognizerIntent.ExtraLanguage, Java.Util.Locale.Default);
StartActivityForResult(voiceIntent, VOICE);
}
};
}
}
protected override void OnActivityResult(int requestCode, Result resultVal, Intent data)
{
if (requestCode == VOICE)
{
if (resultVal == Result.Ok)
{
var matches = data.GetStringArrayListExtra(RecognizerIntent.ExtraResults);
if (matches.Count != 0)
{
string textInput = textBox.Text + matches[0];
// limit the output to 500 characters
if (textInput.Length > 500)
textInput = textInput.Substring(0, 500);
textBox.Text = textInput;
}
else
textBox.Text = "No speech was recognised";
// change the text back on the button
recButton.Text = "Start Recording";
}
}
base.OnActivityResult(requestCode, resultVal, data);
}
Kann mir jemand helfen das Popup zu deaktivieren?
Es tut mir leid, es ist meine Schuld. Ich meine, dass das Popup nicht auftauchen sollte. Wenn ich auf den Knopf drücke, sollte es anfangen zu hören (ohne Popup). – Ossi