input text using app designer

58 次查看(过去 30 天)
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

采纳的回答

Kojiro Saito
Kojiro Saito 2021-3-26
编辑:Kojiro Saito 2021-3-30
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 个评论
michael olagunju
michael olagunju 2021-3-30
thank you for your help, i learnt how to insert a conditional breakpoint too :)
Kojiro Saito
Kojiro Saito 2021-3-30
All right, I understand this issue occurs when the TextArea contains multiple lines. I've updated my answer.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Whos 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by