Is these a way to create a one click button that would allow me to switch from headset earphones to desktop speakers for VOIP calls?

RUA Volunteer2?
RUA Volunteer2? used Ask the Experts™
on
It would be awesome to have a button that I could hit with one click that would allow me to switch from headset to speakers like a conference call would use in a large group of people meeting in a room and only one phone to go around. Is this possible? If so how can I do that?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Fixer of Problems
Most Valuable Expert 2014
Commented:
That's normally a hardware problem, standard headphone output has a mechanical switch that cuts off the speakers.  You would have to have some other hardware to switch like that.
RUA Volunteer2?Tableau Trainer & Consultant Sales Exec.

Author

Commented:
I am connected to USB headset not the headset to the speakers themselves does that make a difference? The headset is a Logitech USB new and speakers are Altec Lansing. using a PCI sound card and I happen to have an on-board sound  card as well. Still no difference with those extras I assume...?
Dave BaldwinFixer of Problems
Most Valuable Expert 2014
Commented:
It is possible since you have extra hardware to make them both active but it does require software support.  Take a look at your software for your different devices to see if they will support it somehow.  Right click on your Volume control Icon, choose "Open Volume Controls" and see if there is support for an alternate output.  There isn't on mine but I only have a single sound card.
Introduction to R

R is considered the predominant language for data scientist and statisticians. Learn how to use R for your own data science projects.

The closest you will get to a "one click" option is to open Skype's Tools > Options > Audio settings and switch the output from the USB Headset to Sound Card which will go to the speakers.  That's 3 clicks and a drop-down selection.

RUA Volunteer2?Tableau Trainer & Consultant Sales Exec.

Author

Commented:
Thanks gentlemen. I noticed from another forum. I could get a free macro building tool that will actually let me build a macro button that will do the one click. Theoretically. I had not even tought of that one but I will be darned if it did not work with the sound card skype and settings. thank you.
Thank you ruavol2

The "macro" program probably being referred to is AutoIT3.  There are a few different ones, but that seems to be the most well quoted.

Essentially it allows you to proceed stepwise through a sequence of actions, acquiring the Window Title and names of dialog buttons, etc, and provides the facility to add pre-defined commands that equate to button clicks, opening and selecting from drop-down lists, etc.  At the end it wraps the generated script up into an executable.

In theory it should be able to work with all standard program windows and dialogs, but Skype is probably "skinned" in a way that makes it non-standard.  The secret with that type of macro script compiler is keeping the window or dialog "in focus" (ie. active) so that the script acts on defined parts of it.  I haven't tried AutoIT3 out on a Skype window though.

There is another method using a VBScript and calling the "SendKeys" function repeatedly while keeping the named application window in focus.  All it does is use what would be the Windows Shortcut key combinations available to a user who doesn't have a mouse, for example File menu > Exit would be Alt + F and then Alt + X.  You will have seen the letters in menus and buttons with the underscore, and may know that the Alt key in combination with the underlined letter activates that menu option.  You can get a VBScript to Tab through a dialog and select radio buttons, etc, just as though you were doing it manually.

If you would like me to try and write a VBScript to toggle between soundcard and USB headset in the Skype audio options I can have a go, but no guarantees.

Bill
Here's an example of the VBScript "SendKeys" steps to change the setting in Skype:

1. Alt + T - Open "Tools" menu
2. Arrow down 5 times - "options"
3. Enter Key
(It opens with "General settings" in left of dialog active).
4. Arrow down once to audio settings
5. Tab key 4 times - takes you down to speaker device
6. Alt + Down arrow opens drop-down list
7. Arrow down ? number of times to selected device
8. Enter - should select it
9. Tab key 6 times - move down to and select "Save" button
10. Enter - applies setting change and closes Options dialog.

That should be easy enough to write the steps for if I knew how many times to arrow down at step 7 on your system.  I would guess just once, but my system doesn't have a USB headset and only one sound card, so I can't test it.
This works for me.  You may have to adjust the WScript.Sleep lines and make the milliseconds value longer, but I think it's pretty slow and you may even be able to make some of them 100 or 200 milliseconds.

Open Notepad and paste the code below after copying it.
Look at the 2 lines that say (near start and as last line of script):

WshShell.AppActivate("Skype™ - name.here")

The TM symbol immediately after Skype may not show in this comment, but should paste from the code snippet into Notepad OK.
Compare this to what it shows in the Title Bar of YOUR main Skype window and substitute the name.here part with your Skype Name.

Also observe the comment in the script about half way through:

Arrow down once to selected alternate device
Note - this needs to be verified.
Add another Down arrow key send if needed.

Hopefully you will first have followed the key presses described in the script to verify how many Down Arrow keypresses you need, and you can edit as required.

File > Save As.

Browse to a folder, preferably one like C:\Windows, but it can be anywhere.
Type in the filename "ToggleSkypeSpeaker.vbs" (include the " " and the .vbs parts in the file name so it doesn't save as a .TXT file).
Save it.

Right-Click on your Desktop and choose New > Shortcut.
In the Command field of the first page of the dialog type in the following command, assuming you saved it to C:\Windows:

WScript.exe "C:\Windows\ToggleSkypeSpeaker.vbs"

Click Next, and in the 2nd page of the dialog name the shortcut something like "Toggle Skype Speaker".

With Skype running, if you double-click your new shortcut it should take the focus off the Skype window momentarily before the script brings it back into focus again.  You should see the key strokes being executed (as described in the commented lines of the script).

Alternatively, just save the *.VBS file to your desktop in a place that will be visible with Skype windows open, and Right-Click on it choosing "Open with Command Prompt" (if you have that option).  For safety reasons the double-click action on a VBS file is often changed to open safely in Notepad rather than being run as a Script.

Hopefully this will work for you.

Bill
' Clunky slow method to toggle Skype audio output device.
' Usage: WScript ToggleSkypeSpeaker.vbs
' OR
' CScript //NoLogo ToggleSkypeSpeaker.vbs

' Create the program environment 
Set WshShell = WScript.CreateObject("WScript.Shell")

' Ensure Skype stays active so keystrokes are sent to it.
WshShell.AppActivate("Skype™ - name.here")

' Open Tools menu - Alt + T
WshShell.SendKeys "%{T}"

' Wait 700 milliseconds for menu to open
WScript.Sleep 500

' Arrow down to Options
WshShell.SendKeys "{DOWN}"
WScript.Sleep 200
WshShell.SendKeys "{DOWN}"
WScript.Sleep 200
WshShell.SendKeys "{DOWN}"
WScript.Sleep 200
WshShell.SendKeys "{DOWN}"
WScript.Sleep 200
WshShell.SendKeys "{DOWN}"
WScript.Sleep 200

' press Enter key to select Options
WshShell.SendKeys "{ENTER}"
' Wait 5 seconds for dialog to open
WScript.Sleep 5000

' It opens to "General settings" in left of dialog.
' Arrow down once to audio settings
WshShell.SendKeys "{DOWN}"
WScript.Sleep 1000

' Tab Key 4 times takes you down to speaker device
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{TAB}"
WScript.Sleep 500

' Alt + Down arrow opens drop-down list
WshShell.SendKeys "%{DOWN}"
WScript.Sleep 600

' Arrow down once to selected alternate device
' Note - this needs to be verified.
' Add another Down arrow key send if needed
WshShell.SendKeys "{DOWN}"
WScript.Sleep 500

' Enter to select device and collapse drop-down list
WshShell.SendKeys "{ENTER}"
WScript.Sleep 700

' Tab 6 times to select Save button
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{TAB}"
WScript.Sleep 500
WshShell.SendKeys "{TAB}"
WScript.Sleep 500

' Enter to click Save button and close Options dialog
WshShell.SendKeys "{ENTER}"
WScript.Sleep 1000

' Bring Skype back as active window again
WshShell.AppActivate("Skype™ - name.here")

Open in new window

Whoops, clearly I made a mistake in the code:

' Wait 700 milliseconds for menu to open  
WScript.Sleep 500

Obviously this should be:

' Wait 700 milliseconds for menu to open  
WScript.Sleep 700

As I was saying though, you may be able to make the value less.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial