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
0 个评论
采纳的回答
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 个评论
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 Center 和 File Exchange 中查找有关 Whos 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!