so i would like to ask voxcommando "Listen to Radio"
VC responds "which radio station would you like to listen to?" (would like VC to wait until hears my response)
Almost by definition, VoxCommando works by waiting for you to issue a voice command.
While you might think of your command as a "response", it's important to mentally accept that VC doesn't genuinely engage in conversation. You say something; it responds with one particular command; you say something back; it will respond using a different command.
You specify what happens in each commmand. If you want a command where you say, "Listen to radio" and VC says, "Which station would you like to listen to?" but does nothing else, then that's the command you should create.
Then you create another command where you say, "Play radio station {x}". In that command macro, VC processes the instructions for how to start playing the stream you want to hear, and to announce the name of the station to you.
VC would have a list of all the radio stations that I have predefined with corresponding url's. EX, z100, power 105.1 etc
These are known as value/phrase payload XML files. You can learn about them on the wiki and in the videos specified above.
http://voxcommando.com/mediawiki/index.php?title=Payloads. The videos on editing commands are a must watch.
Be careful with how you write your radio station names. I'm not sure, but you may want to write out "power 105 point 1" for your phrase. You can test it for yourself.
I can also say "what are my options?" and VC will tell me all radio stations i have predefined.
Here, you would again use the payload XML file that you're using in the other command. VC would simply list the phrases in that file. Or you could specify that you only want 5 random stations, etc.
Here is a sample command group to get you started. For the method I've chosen to use, you'll need to enable the RoboBrowser plugin in Options.
If you don't know how to copy this into your command tree, see:
http://voxcommando.com/mediawiki/index.php?title=XML_on_the_forumI've also attached the payload XML file that I'm using in this example, which should go in the payloads folder of your VC directory.
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.1.0.3-->
<commandGroup open="True" name="I heart internet radio" enabled="True" prefix="" priority="0" requiredProcess="" description="">
<command id="336" name="Listen to radio" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>Which radio station would like to to listen to?|What station did you have in mind?|Sure, I can turn on the radio. What station should I tune to?</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>Listen to radio</phrase>
</command>
<command id="332" name="Play station {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="This command uses the auto play URL to start playing the stream. 

The "0" lines show an alternative; they show how you could have clicked on the play button.

If you want to see the browser window, change the "RoboB.Show" line from 0 to 1.
">
<action>
<cmdType>RoboB.Select</cmdType>
<params>
<param>radio</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>RoboB.Navigate</cmdType>
<params>
<param>{1}/?autoplay=true</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>RoboB.Show</cmdType>
<params />
<cmdRepeat>0</cmdRepeat>
</action>
<action>
<cmdType>RoboB.Wait</cmdType>
<params />
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>RoboB.ElementRegex</cmdType>
<params>
<param>i</param>
<param> class="icon-play"</param>
</params>
<cmdRepeat>0</cmdRepeat>
</action>
<action>
<cmdType>RoboB.Click</cmdType>
<params />
<cmdRepeat>0</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>You're listening to {PF.1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>Play station, play</phrase>
<payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\iheartradio_channels.xml</payloadFromXML>
</command>
<command id="339" name="Stop the radio" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="This command stops a stream using the mouse click method, but leaves the RoboB object "radio" alive. You could instead delete all those lines, and activate the "RoboB.Dispose" line. That will kill the current RoboB, thus killing the radio stream.">
<action>
<cmdType>RoboB.ElementRegex</cmdType>
<params>
<param>i</param>
<param> class="icon-stop"</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>RoboB.Click</cmdType>
<params />
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>RoboB.Dispose</cmdType>
<params />
<cmdRepeat>0</cmdRepeat>
</action>
<phrase>Stop the radio, stop playing this station</phrase>
</command>
<command id="312" name="What are my options?" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="This is the easiest method but not the most sophisticated. There are almost always different ways to skin a cat in VC.">
<action>
<cmdType>PayloadXML.GetRandomP</cmdType>
<params>
<param>payloads\iheartradio_channels.xml</param>
<param>100</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Results.MatchConcat</cmdType>
<params>
<param>{CR}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>OSD.ShowText</cmdType>
<params>
<param>{LastResult}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>{LastResult}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>What are my options?</phrase>
</command>
</commandGroup>