21

Как я могу воспроизвести звук (CPU Beep или wav, неважно, что) с помощью Windows cmd?

12 ответов12

44

Вы можете сделать это изначально с 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

источник

10
echo ^G

Где ^G - это сочетание клавиш CTRL + G или Alt + 7 на клавиатуре.

3

Обходной путь (своего рода):

1) запустить аудио файл

2) дождаться окончания трека (в моем случае это 5 секунд) и закрыть медиаплеер

start wmplayer "C:\Windows\Media\Alarm10.wav" && timeout 5 && taskkill /im wmplayer.exe
3

Установите VLC. Используйте следующую команду. Это начинается очень быстро. Это то, что я использовал в Windows 7 b/c. Wmplayer загружается так долго, и опция /close была удалена из wmplayer.

vlc.exe --play-and-exit audio.wav
1

Если обычный звуковой сигнал в порядке, отобразите символ со значением 7, так называемый символ звонка. Обратите внимание, однако, что звуковые сигналы могут быть отключены.

Если вы хотите что-то еще, вам придется запустить приложение, которое делает свое дело.

1

Вы можете написать простое консольное приложение, которое принимает звуковой файл (или звуковой идентификатор) в качестве аргумента и называется PlaySound

1

Очень легким решением является cmndPlayWAV.jar, который также работает в Linux и OS/X. Он имеет встроенный звук, если не указан параметр или вы можете указать полный путь к WAV-файлу. Кстати, всегда можно сделать звуковое сообщение .wav для использования с Windows Recorder.

1

(Пока старая ветка, люди найдут ее в поиске). Я вижу, кто-то уже рекомендовал 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 тоже будут работать.

0

Вы можете использовать fmedia для воспроизведения звукового файла из терминала Windows:

fmedia file.mp3

Эта команда начнет воспроизведение file.mp3 на переднем плане и завершит работу после завершения воспроизведения файла.

Если вы хотите сделать это в фоновом режиме, добавьте ключ --background к вашей команде:

fmedia file.wav --background

Эта команда запустит новый процесс в фоновом режиме и немедленно отсоединится от вашей консоли.

fmedia - портативное приложение (работает без установки) и потребляет очень мало системных ресурсов. Кроме того, его время запуска является мгновенным.

PS Используйте команду fmedia.exe --install чтобы добавить ее в переменную среды %PATH% , в противном случае вам необходимо выполнить ее с полным путем, например, D:\fmedia\fmedia.exe .

0

На XP я делаю это

start /min mplay32 /play /close %WINDIR%\media\tada.wav

Это не идеально, но это действительно легко, и это работает.

0

Я использую mplayer для этого. Немного излишним, поскольку он может воспроизводить практически любой медиа-файл. Последние сборки Windows можно найти в Спиртоне, начиная с 2013 года. Пример использования:

mplayer c:\windows\media\chimes.wav

Вы должны добавить mplayer.exe в вашу PATH (см. Что такое PATH и другие переменные среды, и как я могу их установить или использовать? или Как я могу навсегда добавить запись в системную переменную PATH через командную строку? сделать это.)

-2

Не в Windows сейчас, чтобы проверить это возможное решение, но попробуйте:"начать"

Я думаю, что он откроет файл WAV с соответствующей программой, что ваши окна имеют для файлов ". WAV".

И обратите внимание, это дикая догадка - кто-то с окнами может дать вам лучшее решение, если это не поможет

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .