¿Cómo puedo reproducir un sonido (CPU Beep o wav, no importa qué) usando el cmd de Windows?
¿Cómo puedo reproducir un sonido (CPU Beep o wav, no importa qué) usando el cmd de Windows?
Respuestas:
No en Windows ahora, para probar esta posible solución, pero intente: "iniciar"
Creo que abrirá el archivo wav con el programa asociado que su Windows tiene para los archivos ".wav".
Y tenga en cuenta que esto es una conjetura: alguien con Windows puede darle una mejor solución si esto no funciona
Puede hacer esto de forma nativa con PowerShell. PowerShell se incluye con Windows Vista y versiones posteriores, y se puede descargar de Microsoft para versiones anteriores.
PowerShell se puede usar para cargar la System.Media.SoundPlayer
clase .NET, que se puede usar para reproducir un archivo wave.
(New-Object Media.SoundPlayer "C:\WINDOWS\Media\notify.wav").Play();
Si lo desea, puede ejecutar esto desde la línea de comando normal:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").PlaySync();
(tenga en cuenta que PlaySync
se usa en el segundo ejemplo, ya que la reproducción asincrónica estándar se vería interrumpida por el cierre del proceso de PowerShell cuando se inicia así)
Y si quisieras tocar solo el primero, digamos, 5 segundos del sonido:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").Play(); Start-Sleep -s 5; Exit;
Un pitido se puede lograr fácilmente en la línea de comando normal con echo ^G
(donde ^G
representa BEL, carácter 7 ASCII, insertado con Ctrl+ G), como se describe en otras respuestas. En aras de la integridad, aquí está el método de PowerShell:
echo ^G
Sí, es lo mismo que el cmd
uno. echo
en PowerShell es un alias (es decir, significa lo mismo) para Write-Host
, que muestra algo en la pantalla (o activa el sonido de notificación de Windows en el caso de BEL
).
Un método alternativo en PowerShell es usar la secuencia de escape para BEL, en lugar de insertar un carácter BEL literal con Ctrl+ G:
echo `a
`
es el carácter de escape de PowerShell, que modifica el significado del carácter después de él. Un escape a
indica BEL. La ventaja de este enfoque es que es más fácil y más visible cuando se escribe en un script.
Para ejecutar esto en un archivo por lotes (de nuevo, Vista o posterior):
powershell -c echo `a
Play()
(asíncrono), esperaría un semáforo y cerraría. Los semáforos son una forma más limpia de hacerlo, pero un poco más complicada. Me encantaría entrar en más detalles en el chat .
Instalar VLC. Usa el siguiente comando. Se inicia REALMENTE rápido. Esto es lo que utilicé en Windows 7 b / c wmplayer tarda mucho en cargar, y la opción / close se eliminó de wmplayer.
vlc.exe --play-and-exit audio.wav
vlc -I dummy --dummy-quiet t.mp3 vlc://quit
de forum.videolan.org/viewtopic.php?t=79516#p262603
(Si bien es un hilo viejo, la gente lo encontrará en una búsqueda). Veo que alguien ya ha recomendado VLC. Lo uso para reproducir un sonido en Windows sin nada visible usando parámetros: "c: \ Archivos de programa (x86) \ videolan \ vlc \ vlc.exe" --qt-start-minimized --play-and-exit "c: \ Archivos de programa (x86) \ videolan \ vlc \ Windows Exclamation.wav "
La adición principal al comentario anterior es --qt-start-minimized. Las rutas y los caracteres de comillas son solo para ilustrar un uso típico. He usado esto sin cambios en XP, 7, 10; Espero que Vista y 8.x también funcionen.
Si un pitido simple está bien, repita el carácter con el valor 7, el llamado carácter de campana . Tenga en cuenta, sin embargo, que los pitidos se pueden desactivar.
Si quieres algo más, tendrás que iniciar una aplicación que haga el truco.
Podría escribir una aplicación de consola simple que tomara el archivo de sonido (o id de sonido) como argumento y se llamara PlaySound
Una solución muy ligera es cmndPlayWAV.jar, que también funciona en Linux y OS / X. Tiene un sonido incorporado si no se especifica ningún parámetro o puede dar la ruta completa a un archivo .wav. Por cierto, siempre se puede hacer un mensaje de audio .wav para usar con Windows Recorder.
En XP hago esto
start /min mplay32 /play /close %WINDIR%\media\tada.wav
No es ideal, pero es realmente fácil y funciona.
Yo uso mplayer
para esto. Un poco exagerado ya que puede reproducir casi cualquier archivo multimedia. Las compilaciones recientes de Windows se pueden encontrar en spirton , a partir de 2013. Ejemplo de uso:
mplayer c:\windows\media\chimes.wav
Debe agregar mplayer.exe a su PATH (consulte ¿Qué son PATH y otras variables de entorno y cómo puedo configurarlas o usarlas? ¿ O cómo puedo agregar permanentemente una entrada a la variable PATH del sistema, a través de la línea de comandos? Para hacer esto. )
Puede usar fmedia para reproducir un archivo de sonido desde el terminal de Windows:
fmedia file.mp3
Este comando iniciará la reproducción de file.mp3
en primer plano y se cerrará una vez que el archivo haya terminado de reproducirse.
Si desea hacerlo en segundo plano, agregue el --background
interruptor a su comando:
fmedia file.wav --background
Este comando iniciará un nuevo proceso en segundo plano y se desconectará de su consola de inmediato.
fmedia es una aplicación portátil (funciona sin instalación) y consume una cantidad muy pequeña de recursos del sistema. Además, su tiempo de inicio es instantáneo.
PS Use el comando fmedia.exe --install
para agregarlo a su %PATH%
variable de entorno, de lo contrario, debe ejecutarlo con la ruta completa, por ejemplo D:\fmedia\fmedia.exe
.
start file.wav
es una mala idea. Puede tomar un segundo iniciar un reproductor multimedia hinchado, solo por un solo pitido. Además, las asociaciones de archivos pueden estar mal, el reproductor multimedia puede no reproducir el archivo, o puede reproducirlo una y otra vez, etc. La forma de crear un simple "pitido" es escribirbeep ^G
. "^ G" no es el acento circunflejo seguido de una letra mayúscula G, sino un carácter especial que inserta presionando Ctrl + G. En realidad es el carácter BEL con valor ASCII 0x07.