Como posso reproduzir um som (bipe da CPU ou wav, não importa o quê) usando o cmd do Windows?
Como posso reproduzir um som (bipe da CPU ou wav, não importa o quê) usando o cmd do Windows?
Respostas:
Agora não no Windows, para testar esta possível solução, mas tente: "iniciar"
Eu acho que ele abrirá o arquivo wav com o programa associado que o Windows possui para arquivos ".wav".
E observe que esse é um palpite: alguém com Windows pode oferecer uma solução melhor se isso não funcionar.
Você pode fazer isso nativamente com o PowerShell. O PowerShell está incluído no Windows Vista e posterior e pode ser baixado da Microsoft para versões mais antigas.
O PowerShell pode ser usado para carregar a System.Media.SoundPlayer
classe .NET, que pode ser usada para reproduzir um arquivo wave.
(New-Object Media.SoundPlayer "C:\WINDOWS\Media\notify.wav").Play();
Se desejar, você pode executar isso na linha de comando normal:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").PlaySync();
(observe que PlaySync
é usado no segundo exemplo, pois a reprodução assíncrona padrão seria interrompida pelo fechamento do processo do PowerShell quando iniciado assim)
E se você quiser tocar apenas o primeiro, digamos, 5 segundos do som:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").Play(); Start-Sleep -s 5; Exit;
Um sinal sonoro pode ser facilmente realizado na linha de comando normal com echo ^G
(onde ^G
representa BEL, caractere ASCII 7, inserido com Ctrl+ G), conforme descrito em outras respostas. No interesse da integridade, aqui está o método PowerShell:
echo ^G
Sim, é o mesmo que cmd
esse. echo
no PowerShell, existe um alias (isto é, significa a mesma coisa) para Write-Host
, que exibe algo na tela (ou aciona o som de notificação do Windows no caso de BEL
).
Um método alternativo no PowerShell é usar a sequência de escape para BEL, em vez de inserir um caractere literal de BEL com Ctrl+ G:
echo `a
`
é o caractere de escape do PowerShell, que modifica o significado do caractere depois dele. Um escape a
indica BEL. A vantagem dessa abordagem é que é mais fácil e mais visível quando digitado em um script.
Para executar isso em um arquivo em lotes (novamente, Vista ou posterior):
powershell -c echo `a
Play()
(assíncrono), esperaria por um semáforo e fecharia. Os semáforos são uma maneira mais limpa de fazer isso, mas um pouco mais complicado. Ficaria feliz em entrar em mais detalhes no chat .
Instale o VLC. Use o seguinte comando. Começa MUITO rápido. Isso é o que eu usei no Windows 7 b / c wmplayer leva tanto tempo para carregar, e a opção / close foi removida do wmplayer.
vlc.exe --play-and-exit audio.wav
vlc -I dummy --dummy-quiet t.mp3 vlc://quit
em forum.videolan.org/viewtopic.php?t=79516#p262603
(Enquanto um tópico antigo, as pessoas o encontram em uma pesquisa). Vejo que alguém já recomendou o VLC. Eu o uso para reproduzir um som no Windows sem nada visível usando os parâmetros: "c: \ Arquivos de Programas (x86) \ videolan \ vlc \ vlc.exe" --qt-start-minimized --play-and-exit "c: \ Arquivos de programas (x86) \ videolan \ vlc \ Windows Exclamation.wav "
A principal adição ao comentário anterior é --qt-start-minimized Os caminhos e os caracteres de aspas são apenas para ilustrar um uso típico. Eu usei isso inalterado no XP, 7, 10; Espero que o Vista e o 8.x funcionem também.
Se um sinal sonoro normal estiver correto, ecoe o caractere com o valor 7, o chamado caractere de campainha . Observe, no entanto, que os bipes podem ser desativados.
Se você quiser algo mais, precisará iniciar um aplicativo que faça o truque.
Você pode escrever um aplicativo de console simples que tenha como argumento o arquivo de som (ou o id do som) e chamado PlaySound
Uma solução muito leve é o cmndPlayWAV.jar, que também funciona no Linux e OS / X. Ele possui um som embutido se nenhum parâmetro for especificado ou você pode fornecer o caminho completo para um arquivo .wav. Aliás, sempre se pode fazer uma mensagem de áudio .wav para usar com o Windows Recorder.
No XP eu faço isso
start /min mplay32 /play /close %WINDIR%\media\tada.wav
Não é o ideal, mas é realmente fácil e funciona.
Eu uso mplayer
para isso. Um pouco exagerado, pois pode reproduzir quase qualquer arquivo de mídia. As construções recentes do Windows podem ser encontradas na spirton , a partir de 2013. Exemplo de uso:
mplayer c:\windows\media\chimes.wav
Você deve adicionar o mplayer.exe ao seu PATH (consulte O que são PATH e outras variáveis de ambiente e como posso defini-las ou usá-las? Ou Como anexar permanentemente uma entrada na variável PATH do sistema, via linha de comando?) Para fazer isso. )
Você pode usar o fmedia para reproduzir um arquivo de som no terminal do Windows:
fmedia file.mp3
Este comando iniciará a reprodução file.mp3
em primeiro plano e será encerrado após a reprodução do arquivo.
Se você deseja fazer isso em segundo plano, adicione --background
switch ao seu comando:
fmedia file.wav --background
Este comando iniciará um novo processo em segundo plano e será desconectado do console imediatamente.
O fmedia é um aplicativo portátil (funciona sem instalação) e consome uma quantidade muito pequena de recursos do sistema. Além disso, seu tempo de inicialização é instantâneo.
PS Use o comando fmedia.exe --install
para adicioná-lo à sua %PATH%
variável de ambiente; caso contrário, você precisará executá-lo com o caminho completo, por exemplo D:\fmedia\fmedia.exe
.
start file.wav
é uma má ideia. Pode levar um segundo para iniciar um media player inchado, apenas para um único bipe. Além disso, as associações de arquivos podem estar erradas, o media player pode não reproduzir o arquivo ou reproduzi-lo repetidamente, etc. A maneira de criar um "bipe" simples é escreverbeep ^G
. "^ G" não é o acento circunflexo seguido de uma letra maiúscula G, mas um caractere especial que você insere pressionando Ctrl + G. Na verdade, é o caractere BEL com valor ASCII 0x07.