Speaking the time in my code or codes
2 次查看(过去 30 天)
显示 更早的评论
Hello MATLAB Community, again.
So I have a code where it speaks and shows the time, but I really want my code to speak the time I enter.
Right now I have:
res=input('','s');
if strcmpi(res,'What is the time')
NET.addAssembly('System.Speech');
obj = System.Speech.Synthesis.SpeechSynthesizer;
obj.Volume = 100;
Speak(obj, 'this is the time' )
fprintf('%s\n', datestr(now,'HH:MM:SS'))
s=-1;
k=1;
end
It speaks out but tells the current time. Is there a way to make it speak the time a user enters? Please provide an example. Thank you.
0 个评论
采纳的回答
Sulaymon Eshkabilov
2019-5-26
Hi,
If I have understood your question correctly, here is the corrected code that speaks the current time:
NET.addAssembly('System.Speech');
obj = System.Speech.Synthesis.SpeechSynthesizer;
obj.Volume = 100;
Speak(obj, 'this is the time' )
% If no need to display the time, then just to remove it.
Speak(obj, datestr(now,'HH:MM:SS'));
Good luck.
3 个评论
Image Analyst
2019-5-28
Surprised you picked this answer as the best one since it does not speak the time the user entered with your input() function, like you asked for and like my answer below does. So if you're still wondering how to do that, see my solution.
更多回答(1 个)
Image Analyst
2019-5-26
Try this. It works. Adapt as needed.
% Instantiate the speech .Net assembly (for Windows only - not Apple!!)
NET.addAssembly('System.Speech');
obj = System.Speech.Synthesis.SpeechSynthesizer;
obj.Volume = 100;
% Have the computer tell us the current time.
Speak(obj, 'This is the current time')
string2 = sprintf('%s', datestr(now,'HH:MM:SS'))
Speak(obj, string2)
% Now let the user enter something.
Speak(obj, 'Now it is your turn to enter a time')
string3 = input('Enter a time in the form HH:MM:SS : ', 's')
Speak(obj, string3)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!