Как я могу воспроизвести звук (CPU Beep или wav, неважно, что) с помощью Windows cmd?
12 ответов
Вы можете сделать это изначально с 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, который изменяет значение символа после него. Избежала указывает BEL. Преимущество этого подхода в том, что он легче и заметнее при вводе в скрипт.
Чтобы запустить это в командном файле (снова, Vista или позже):
powershell -c echo `a
echo ^G
Где ^G
- это сочетание клавиш CTRL + G или Alt + 7 на клавиатуре.
Обходной путь (своего рода):
1) запустить аудио файл
2) дождаться окончания трека (в моем случае это 5 секунд) и закрыть медиаплеер
start wmplayer "C:\Windows\Media\Alarm10.wav" && timeout 5 && taskkill /im wmplayer.exe
Установите VLC. Используйте следующую команду. Это начинается очень быстро. Это то, что я использовал в Windows 7 b/c. Wmplayer загружается так долго, и опция /close была удалена из wmplayer.
vlc.exe --play-and-exit audio.wav
Если обычный звуковой сигнал в порядке, отобразите символ со значением 7, так называемый символ звонка. Обратите внимание, однако, что звуковые сигналы могут быть отключены.
Если вы хотите что-то еще, вам придется запустить приложение, которое делает свое дело.
Вы можете написать простое консольное приложение, которое принимает звуковой файл (или звуковой идентификатор) в качестве аргумента и называется PlaySound
Очень легким решением является cmndPlayWAV.jar, который также работает в Linux и OS/X. Он имеет встроенный звук, если не указан параметр или вы можете указать полный путь к WAV-файлу. Кстати, всегда можно сделать звуковое сообщение .wav для использования с Windows Recorder.
(Пока старая ветка, люди найдут ее в поиске). Я вижу, кто-то уже рекомендовал 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 тоже будут работать.
Вы можете использовать fmedia для воспроизведения звукового файла из терминала Windows:
fmedia file.mp3
Эта команда начнет воспроизведение file.mp3
на переднем плане и завершит работу после завершения воспроизведения файла.
Если вы хотите сделать это в фоновом режиме, добавьте ключ --background
к вашей команде:
fmedia file.wav --background
Эта команда запустит новый процесс в фоновом режиме и немедленно отсоединится от вашей консоли.
fmedia - портативное приложение (работает без установки) и потребляет очень мало системных ресурсов. Кроме того, его время запуска является мгновенным.
PS Используйте команду fmedia.exe --install
чтобы добавить ее в переменную среды %PATH%
, в противном случае вам необходимо выполнить ее с полным путем, например, D:\fmedia\fmedia.exe
.
На XP я делаю это
start /min mplay32 /play /close %WINDIR%\media\tada.wav
Это не идеально, но это действительно легко, и это работает.
Я использую mplayer
для этого. Немного излишним, поскольку он может воспроизводить практически любой медиа-файл. Последние сборки Windows можно найти в Спиртоне, начиная с 2013 года. Пример использования:
mplayer c:\windows\media\chimes.wav
Вы должны добавить mplayer.exe в вашу PATH (см. Что такое PATH и другие переменные среды, и как я могу их установить или использовать? или Как я могу навсегда добавить запись в системную переменную PATH через командную строку? сделать это.)
Не в Windows сейчас, чтобы проверить это возможное решение, но попробуйте:"начать"
Я думаю, что он откроет файл WAV с соответствующей программой, что ваши окна имеют для файлов ". WAV".
И обратите внимание, это дикая догадка - кто-то с окнами может дать вам лучшее решение, если это не поможет