MATLAB Answers

input text using app designer

7 views (last 30 days)
Im trying to create a simple app that allows the users input what they want to say and upon the press of a button the device speaks for them, using app designer i am struggling with getting input in with the right method to the speech synthesizer

Accepted Answer

Kojiro Saito
Kojiro Saito on 26 Mar 2021
Edited: Kojiro Saito on 30 Mar 2021
UPDATED ANSWER
I've reproduced this issue when userPrompt has two strings, e.g.) text area contains line breaks.
You might add join command to combine multiple lines into one string array.
userPrompt = app.whatdoyouwanttosayTextArea.Value;
userPrompt = string(userPrompt);
userPrompt = join(userPrompt); % combine multiple lines in to one string array
NET.addAssembly('System.Speech');
speak = System.Speech.Synthesis.SpeechSynthesizer;
speak.Volume = 100;
Speak(speak, userPrompt);
ORIGINAL ANSWER
Are you using another .NET or Java library which also uses Speak function?
How about the following?
speak.Speak(userPrompt);
  11 Comments
Kojiro Saito
Kojiro Saito on 30 Mar 2021
All right, I understand this issue occurs when the TextArea contains multiple lines. I've updated my answer.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by