Как воспроизвести звук (CPU Beep или wav, неважно, что) с помощью Windows cmd?
Как воспроизвести звук (CPU Beep или wav, неважно, что) с помощью Windows cmd?
Ответы:
Не в Windows сейчас, чтобы проверить это возможное решение, но попробуйте: «начать»
Я думаю, что он откроет файл WAV с соответствующей программой, что ваши окна имеют для файлов ". WAV".
И обратите внимание, это дикая догадка - кто-то с окнами может дать вам лучшее решение, если это не поможет
Вы можете сделать это изначально с PowerShell. PowerShell входит в состав Windows Vista и более поздних версий и может быть загружен с веб-сайта Microsoft для более старых версий.
PowerShell можно использовать для загрузки System.Media.SoundPlayer
класса .NET, который можно использовать для воспроизведения волнового файла.
(New-Object Media.SoundPlayer "C:\WINDOWS\Media\notify.wav").Play();
Если вы хотите, вы можете запустить это из обычной командной строки:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").PlaySync();
(обратите внимание, что PlaySync
используется во втором примере, поскольку стандартное асинхронное воспроизведение будет прервано закрытием процесса PowerShell при запуске таким образом)
И если вы хотите воспроизвести только первые, скажем, 5 секунд звука:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").Play(); Start-Sleep -s 5; Exit;
Звуковой сигнал может быть легко выполнен в обычной командной строке с помощью echo ^G
(где ^G
представляет BEL, символ ASCII 7, вставленный с Ctrl+ G), как описано в других ответах. В целях полноты, вот метод PowerShell:
echo ^G
Да, это так же, как cmd
тот. echo
в PowerShell есть псевдоним (то есть означает то же самое) Write-Host
, который отображает что-то на экране (или вызывает звук уведомления Windows в случае BEL
).
Альтернативный метод в PowerShell - использовать escape-последовательность для BEL, а не вставлять буквенный символ BEL с Ctrl+ G:
echo `a
`
является escape-символом PowerShell, который изменяет значение символа после него. Побег a
указывает на BEL. Преимущество этого подхода в том, что он легче и более заметен при вводе в скрипт.
Чтобы запустить это в командном файле (снова, Vista или позже):
powershell -c echo `a
Play()
(асинхронный), ожидали семафор и закрывали. Семафоры - более чистый способ сделать это, но немного более сложный. Я был бы рад вдаваться в подробности в чате .
Установите VLC. Используйте следующую команду. Это начинается очень быстро. Это то, что я использовал в Windows 7 b / c. Wmplayer загружается так долго, и опция / close была удалена из wmplayer.
vlc.exe --play-and-exit audio.wav
vlc -I dummy --dummy-quiet t.mp3 vlc://quit
с forum.videolan.org/viewtopic.php?t=79516#p262603
(Пока старая ветка, люди найдут ее в поиске). Я вижу, кто-то уже рекомендовал VLC. Я использую его для воспроизведения звука в Windows без видимых параметров, используя параметры: "c: \ Program Files (x86) \ videolan \ vlc \ vlc.exe" --qt-start-minimized --play-and-exit "c: \ Program Files (x86) \ videolan \ vlc \ Windows Exclamation.wav "
Основным дополнением к предыдущему комментарию является --qt-start-minimized. Пути и символы кавычек приведены только для иллюстрации типичного использования. Я использовал это без изменений в XP, 7, 10; Я ожидаю, что Vista и 8.x тоже будут работать.
Если обычный звуковой сигнал в порядке, отобразите символ со значением 7, так называемый символ звонка . Обратите внимание, однако, что звуковые сигналы могут быть отключены.
Если вы хотите что-то еще, вам придется запустить приложение, которое делает свое дело.
Вы можете написать простое консольное приложение, которое принимает звуковой файл (или звуковой идентификатор) в качестве аргумента и называется PlaySound
Очень легким решением является cmndPlayWAV.jar, который также работает в Linux и OS / X. Он имеет встроенный звук, если не указан параметр или вы можете указать полный путь к WAV-файлу. Кстати, всегда можно сделать звуковое сообщение .wav для использования с Windows Recorder.
На XP я делаю это
start /min mplay32 /play /close %WINDIR%\media\tada.wav
Это не идеально, но это действительно легко, и это работает.
Я использую mplayer
для этого. Немного излишним, поскольку он может воспроизводить практически любой медиа-файл. Последние сборки Windows можно найти в spirton , начиная с 2013 года. Пример использования:
mplayer c:\windows\media\chimes.wav
Вы должны добавить mplayer.exe в вашу PATH (см. « Что такое PATH и другие переменные среды и как я могу их установить или использовать?» Или « Как сделать постоянное добавление записи в системную переменную PATH через командную строку?») . )
Вы можете использовать fmedia для воспроизведения звукового файла из терминала Windows:
fmedia file.mp3
Эта команда начнет воспроизведение file.mp3
на переднем плане и выйдет после завершения воспроизведения файла.
Если вы хотите сделать это в фоновом режиме, добавьте --background
переключатель в вашу команду:
fmedia file.wav --background
Эта команда запустит новый процесс в фоновом режиме и немедленно отсоединится от вашей консоли.
fmedia - портативное приложение (работает без установки) и потребляет очень мало системных ресурсов. Кроме того, его время запуска является мгновенным.
PS Используйте команду, fmedia.exe --install
чтобы добавить ее в %PATH%
переменную среды, в противном случае вам нужно выполнить ее с полным путем, например D:\fmedia\fmedia.exe
.
start file.wav
это плохая идея. Может потребоваться секунда, чтобы запустить раздутый медиаплеер, только для одного звукового сигнала. Кроме того, ассоциации файлов могут быть неправильными, проигрыватель мультимедиа может не воспроизводить файл или воспроизводить его снова и снова и т . Д. Способ создания простого звукового сигнала - записьbeep ^G
. «^ G» - это не акцентирующий символ, за которым следует заглавная буква G, а специальный символ, который вы вставляете нажатием Ctrl + G. На самом деле это символ BEL со значением ASCII 0x07.