[Solucionado][Batch] Programa para cambiar dispositivos de sonido

Iniciado por Anonymous250, 16 Enero 2012, 17:43 PM

0 Miembros y 1 Visitante están viendo este tema.

Anonymous250

Quisiera crear un bat que cambiara el dispositivo de sonido que coje el ordenador como principal,por ejemplo tengo unos  cascos inhalambricos y un sistema 5.1,pues cuando valla a utilizar los cascos me gustaria poder darle a un bat.
Y que automaticamente,cambie en panel de control ,dispositivo de sonidos y audio y que en audio dispositivo predeterminado cambie a 2.4 Wireless headshet ,grabacion de sonido igual y voz igual.
Y luego crearia otro bat para lo mismo pero el  5.1

Lo que yo pienso es en meter el nombre del dispositivo o cambiarlo,se debe poder cambiar el valor pienso.

Nose por donde empezar,pero imagino que para acceder a panel de control desde bat se tiene que poner una ruta,ahi seleccionar dispositivos de sonido,
pestaña audio=valores
pestaña voz=valores


Estaria bien que pudiera cambiar en propiedades avanzadas de altavoz en el bat para los cascos poner Audifonoz Estereofonicos
Y en el 5.1 igual pero 5.1.
Esto lo suele detectar windows automaticamente pero si tan los dos conectados ya no.

es simplemente una idea,pero nose si podre hacerlo,desde luego solo no .

Saludos.

Eleкtro

#1
Eso no se puede hacer en batch, lo de abrir una ventana, y elegir una pestaña, seleccionar objetos o cambiar valores en las casillas...

Nada de eso se puede, A menos que no te importe "virtualizarlo" entonces si se podría, usando algunos comandos de Nircmd...

Ya que estamos, Te lo explico en un script xD
PD: Ejecuta este batch para verlo mejor

Código (dos) [Seleccionar]

@Echo Off
Color 07

Echo+
Echo. Para mover el cursor:
Echo. setcursor X Y
Echo.
Echo. Ejemplo:
Echo. Nircmd setcursor 100 100
Echo+
Echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Echo+
Echo. Para "clickar":
Echo. sendmouse (right  left  middle) (down  up  click  dblclick)
Echo.
Echo. Ejemplo:
Echo. Nircmd sendmouse left click
Echo+
Echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Echo+
Echo. Para presionar la tecla "space" o "enter" (Solo te harían falta estas):
Echo. Sendkey "Tecla" press
Echo.
Echo. Ejemplo:
Echo. Nircmd Sendkey space press
Echo. Nircmd Sendkey enter press

Pause >Nul


EDITO
Aunque se me ocurre una cosa mejor...
Dices que cuando estan los 2 dispositivos conectados te pasa eso, Pero cuando hay 1 solo windows "lo toma" como dispositivo por defecto (Obvio xD)

Bien, pues lo que podrías hacer es un script para deshabilitar uno de los dispositivos, Usando Devcon. (Te lo puedes descargar desde la web de microsoft en los resource kits.)

Primero tienes que buscar la id del dispositivo de audio así:
devcon listclass media

Y luego usar el comando "devcon disable (ID)"

PD: Si tienes Windows x64 tienes que usar el devcon.exe x64.

Un saludo.









Eleкtro

Más sencillo, Puedes usar esta aplicación CommandLineInterface en vez del Nircmd o el Devcon

SSD-Set Sound Device


(No me he mirado los commandos pero ahí llevará la info xD)


o este (No es CLI):
Vista Audio Changer








Anonymous250

Dice que el ssD set sound device en la pagina es compatible con Xp pero lo voy a ejecutar y me dice windows 7  ,el otro para vista da error creo el enlace :xD
Gracias se agradece tu tiempo repondiendo  :) como siempre.

As tenido una buena idea,y nose podria hacer un script para desabilitar ids de dispositivos,aunque claro lo otro no lo modificaria.

Eleкtro

Cita de: Anonymous250 en 16 Enero 2012, 20:43 PM
el otro para vista da error creo el enlace :xD

No da ningún error, prueba aqui:
http://sourceforge.net/projects/vachanger/files/latest/download

Por otro lado, Si sabes usar autoit te podrías bajar el Source del SSD e investigar un poco el code que utilizan para crear el acceso directo hacia el dispositivo de audio.

un saludo








Eleкtro



Te hago el script del que hablé antes usando nircmd (Solo lo he testeado en Win7):

Código (dos) [Seleccionar]
@echo off
Start /B RunDll32.exe shell32.dll,Control_RunDLL mmsys.cpl
Nircmd wait 2000
Nircmd sendkey down press
Nircmd wait 100
Nircmd sendkey tab press
Nircmd wait 100
Nircmd sendkey p press
Exit


PD: Solo tienes que ajustar la cantidad de veces que es necesario usar este comando:
Nircmd sendkey down press



Otro programa más:

Sound Shortcut.exe
Se usa con "alt+1" "alt+2" y "alt+3"


Y este pone que funca en XP:

QuickSoundSwitch.exe








Anonymous250

Muchas gracias EleKtro H@cker lo probare todo y te cuento.
Me ayudas bastante en el foro  ;)
Saludos

Anonymous250

Tema solucionado con el QuickSoundSwitch.2.0.2
Aunque ahi que cerrar las aplicaciones una vez echo el cambio
Gracias a EleKtro H@cker

dablah

Por si alguno acaba llegando a este post, yo estoy probando SoundSwitch la versión SoundSwitch Olium: 3.10.2 y funciona perfecto.

https://soundswitch.codeplex.com/

https://github.com/Belphemur/SoundSwitch/releases/tag/v3.10.2

Salu2