Come posso riprodurre un suono (segnale acustico della CPU o wav, non importa quale) usando il cmd di Windows?
Come posso riprodurre un suono (segnale acustico della CPU o wav, non importa quale) usando il cmd di Windows?
Risposte:
Non in Windows ora, per testare questa possibile soluzione, ma prova a: "avviare"
Penso che aprirà il file wav con il programma associato che Windows ha per i file ".wav".
E nota, questa è un'ipotesi selvaggia: qualcuno con Windows potrebbe darti una soluzione migliore se questo non fa il lavoro
Puoi farlo nativamente con PowerShell. PowerShell è incluso in Windows Vista e versioni successive e può essere scaricato da Microsoft per le versioni precedenti.
PowerShell può essere utilizzato per caricare la System.Media.SoundPlayer
classe .NET, che può essere utilizzata per riprodurre un file wave.
(New-Object Media.SoundPlayer "C:\WINDOWS\Media\notify.wav").Play();
Se vuoi, puoi eseguirlo dalla normale riga di comando:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").PlaySync();
(si noti che PlaySync
viene utilizzato nel secondo esempio poiché la riproduzione asincrona standard viene interrotta dalla chiusura del processo PowerShell all'avvio in questo modo)
E se vuoi riprodurre solo il primo, diciamo, 5 secondi del suono:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").Play(); Start-Sleep -s 5; Exit;
Un segnale acustico può essere facilmente eseguito nella normale riga di comando con echo ^G
(dove ^G
rappresenta BEL, carattere ASCII 7, inserito con Ctrl+ G), come descritto in altre risposte. Nell'interesse della completezza, ecco il metodo PowerShell:
echo ^G
Sì, è uguale a cmd
quello. echo
in PowerShell è un alias (cioè significa la stessa cosa) Write-Host
, che mostra qualcosa sullo schermo (o innesca il suono di notifica di Windows nel caso di BEL
).
Un metodo alternativo in PowerShell consiste nell'utilizzare la sequenza di escape per BEL, anziché inserire un carattere BEL letterale con Ctrl+ G:
echo `a
`
è il carattere di escape di PowerShell, che modifica il significato del personaggio dopo di esso. Un escape a
indica BEL. Il vantaggio di questo approccio è che è più facile e più visibile se digitato in uno script.
Per eseguirlo in un file batch (di nuovo, Vista o successivo):
powershell -c echo `a
Play()
(asincrono), attendi un semaforo e chiudi. I semafori sono un modo più pulito di farlo, ma un po 'più complicato. Sarei felice di approfondire la chat .
Installa VLC. Usa il seguente comando. Si avvia DAVVERO velocemente. Questo è quello che ho usato su Windows 7 b / c wmplayer impiega così tanto tempo a caricarsi e l'opzione / close è stata rimossa da wmplayer.
vlc.exe --play-and-exit audio.wav
vlc -I dummy --dummy-quiet t.mp3 vlc://quit
da forum.videolan.org/viewtopic.php?t=79516#p262603
(Mentre un vecchio thread, la gente lo troverà durante una ricerca). Vedo che qualcuno ha già raccomandato VLC. Lo uso per riprodurre un suono in Windows senza nulla di visibile usando i parametri: "c: \ Programmi (x86) \ videolan \ vlc \ vlc.exe" --qt-start-minimized --play-and-exit "c: \ Programmi (x86) \ videolan \ vlc \ Windows Exclamation.wav "
L'aggiunta principale al commento precedente è --qt-start-minimized I percorsi e i caratteri di citazione sono solo per illustrare un uso tipico. L'ho usato invariato in XP, 7, 10; Mi aspetto che anche Vista e 8.x funzionino.
Se un semplice segnale acustico va bene, fai eco al personaggio con il valore 7, il cosiddetto carattere a campana . Si noti, tuttavia, che i segnali acustici possono essere disattivati.
Se vuoi qualcos'altro, dovrai avviare un'applicazione che fa il trucco.
Potresti scrivere una semplice applicazione console che ha preso il file audio (o sound id) come argomento e chiamato PlaySound
Una soluzione molto leggera è cmndPlayWAV.jar che funziona anche su Linux e OS / X. Ha un suono integrato se non viene specificato alcun parametro o è possibile fornire il percorso completo a un file .wav. Per inciso si potrebbe sempre fare un messaggio audio .wav da usare con Windows Recorder.
Su XP lo faccio
start /min mplay32 /play /close %WINDIR%\media\tada.wav
Non è l'ideale ma è davvero semplice e funziona.
Io uso mplayer
per questo. Un po 'eccessivo in quanto può riprodurre quasi tutti i file multimediali. Le build recenti di Windows sono disponibili su spirton , a partire dal 2013. Esempio di utilizzo:
mplayer c:\windows\media\chimes.wav
Si dovrebbe aggiungere mplayer.exe al vostro PATH (vedi Quali sono PATH e altre variabili di ambiente, e come posso impostare o li usate? O Come posso permanentemente aggiungere un ingresso nel variabile PATH del sistema, tramite linea di comando? Per fare questo. )
Puoi usare fmedia per riprodurre un file audio dal terminale di Windows:
fmedia file.mp3
Questo comando avvia la riproduzione di file.mp3
in primo piano e termina al termine della riproduzione del file.
Se desideri farlo in background, aggiungi --background
switch al tuo comando:
fmedia file.wav --background
Questo comando avvierà un nuovo processo in background e si staccherà immediatamente dalla tua console.
fmedia è un'applicazione portatile (funziona senza installazione) e consuma una quantità molto piccola di risorse di sistema. Inoltre, il suo tempo di avvio è istantaneo.
PS Utilizzare il comando fmedia.exe --install
per aggiungerlo alla %PATH%
variabile di ambiente, altrimenti è necessario eseguirlo con il percorso completo, ad es D:\fmedia\fmedia.exe
.
start file.wav
è una cattiva idea. Potrebbe essere necessario un secondo per avviare un lettore multimediale gonfio, solo per un singolo segnale acustico. Inoltre, le associazioni di file potrebbero essere errate, il lettore multimediale potrebbe non riprodurre il file o potrebbe essere riprodotto ripetutamente, ecc. Il modo per creare un semplice "segnale acustico" è scriverebeep ^G
. "^ G" non è l'accento circonflesso seguito da una lettera maiuscola G, ma piuttosto un carattere speciale che si inserisce premendo Ctrl + G. In realtà è il carattere BEL con valore ASCII 0x07.