Text-to-Speech : Making Nav Speak

Ultramayank
Member Posts: 28
Navision can use the default text-to-speech capabilities that come inbulid into the latest windows operating systems starting Windows XP. Make you form speak out the error or warning message, or give you user voice instructions to use your custom modules. Here's how Its Done
http://extremeengineers.net/dynamics-nav/23-text-to-speech-making-nav-speak-out.html
http://extremeengineers.net/dynamics-nav/23-text-to-speech-making-nav-speak-out.html
0
Comments
-
That, my friend, is pretty cool! :thumbsup:Confessions of a Dynamics NAV Consultant = my blog
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book0 -
I Personally feel, if you want it to be a tip & trick you should supply the code.
your link contains an errors:
1. you can't download the sample if someone wanted too.
2. You name it speaker but your code below shows SPvoice?In Dynamics Nav all you need to do is create a automation variable as
Name DataType Subtype
speaker Automation Microsoft Speech Object Library'.SpVoice
and we are ready to go.Syntax for this would be
SpVoice.Speak(TextVar); //Synchronous Call
SpVoice.Speak(TextVar,1); //Asynchronous Call
What you're looking to do is like this....
Define Global
speaker---Automation---Microsoft Speech Object Library'.SpVoice
OnRename()
IF NOT ISCLEAR(Speaker) THEN
CLEAR(Speaker);
CREATE(Speaker);
Speaker.Speak(Text001);
*Where you can define Text001 in Text constants.
An example could be. OnRename of item table add that code with
Text001 as "Are you sure you want to rename this item"0 -
-
I personally fixed it above 8)
I did find a good use for it. I have one code that always get's clicked thru so perhaps this will alert them more. (unless the sound is off)
I have added a field to the vendor table called "Variable Terms" type boolean.
We check off vendors that don't stick to or have specific terms, perhaps seasonal.
Since the terms could be simply NET30 or perhaps the next invoice just has a random due date ie/ 12/15/2010 etc.
we have alot of trouble with these types of vendors because the person posting PO's 99% of the time the terms on the vendor card are correct. So they just enter the invoice # & post.
I thought a message alert would help but not always. So now I added the voice along with the message alert & we'll give it a try tomorrow.
Text035 = "Document Date cannot be GREATER than the Posting Date on Order %1"
Text036 = "This vendor has a history of variable terms........ Please double check the terms for this invoice."
Vendor Invoice No. - OnValidate() //Purchase Header Table//Mod Start IF "Document Date" > "Posting Date" THEN ERROR(Text035,"No."); IF "Variable Terms" THEN BEGIN IF NOT ISCLEAR(Speaker) THEN CLEAR(Speaker); CREATE(Speaker); Speaker.Speak(Text036); MESSAGE('Vendor %1 - %2\\Uses Variable Terms - Double Check Invoice!',"Buy-from Vendor No.",Name); END; //Mod End
0 -
E-ship would be the place where I would put this to use.Confessions of a Dynamics NAV Consultant = my blog
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book0 -
Hi Mr Harry Sir,
Well the code I put on was merely an example of syntax and not the code exactly. Since it was a generalized use I thought it was better to use the class name than the parent name.
I apologise for the faulty download, it has been fixed. I have also submitted the object for Mibuso's download section.
I didn't give too much details cos I was providing a demo object.
But I appreciate your efforts for correcting it. Thanks
The library provides some events the use of which you'd find in my object. That could make things even more interactive. So I advice you take a look at my object too.
And if you do use it, at least remember me in you mind for introducing this to you, if not appreciating me and giving me the credits, Just joking, don't flame me for this again
.
And thank you Alex, I am glad that you found it useful.
0 -
Alex Chow wrote:E-ship would be the place where I would put this to use.
"Sales Order Found"
//CPP "Close Package Print"
//CSO "Close Sales Order"
//DAP "Are you sure you want to delete all the packages"
Sorry to go off topic for a sec - but when you print all the e-ship barcode commands there is only one without a description //X. I'm afraid to try it :-#. WHat does it do?0 -
Savatage wrote:Alex Chow wrote:E-ship would be the place where I would put this to use.
"Sales Order Found"
//CPP "Close Package Print"
//CSO "Close Sales Order"
//DAP "Are you sure you want to delete all the packages"
Sorry to go off topic for a sec - but when you print all the e-ship barcode commands there is only one without a description //X. I'm afraid to try it :-#. WHat does it do?
Yep, you can basically create your own set of commands. Try it, it really works!Confessions of a Dynamics NAV Consultant = my blog
AP Commerce, Inc. = where I work
Getting Started with Dynamics NAV 2013 Application Development = my book
Implementing Microsoft Dynamics NAV - 3rd Edition = my 2nd book0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions