Воспроизвести звук (может быть WAV?) Из командной строки Windows
Как воспроизвести звук (CPU Beep или wav, неважно, что) с помощью Windows cmd?
14 ответов
Не в 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
указывает на бел. Преимущество этого подхода в том, что он легче и более заметен при вводе в скрипт.
Чтобы запустить это в командном файле (снова, Vista или позже):
powershell -c echo `a
Установите VLC. Используйте следующую команду. Это начинается очень быстро. Это то, что я использовал в Windows 7 b/c. Wmplayer загружается так долго, и опция /close была удалена из wmplayer.
vlc.exe --play-and-exit audio.wav
Обходной путь (своего рода):
1) запустить аудио файл
2) дождаться окончания трека (в моем случае это 5 секунд) и закрыть медиаплеер
start wmplayer "C:\Windows\Media\Alarm10.wav" && timeout 5 && taskkill /im wmplayer.exe
(Пока старая ветка, люди найдут ее в поиске). Я вижу, кто-то уже рекомендовал 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 тоже будут работать.
Очень легким решением является cmndPlayWAV.jar, который также работает в Linux и OS/X. Он имеет встроенный звук, если не указан параметр или вы можете указать полный путь к WAV-файлу. Кстати, всегда можно сделать звуковое сообщение.wav для использования с Windows Recorder.
Если обычный звуковой сигнал в порядке, отобразите символ со значением 7, так называемый символ звонка. Обратите внимание, однако, что звуковые сигналы могут быть отключены.
Если вы хотите что-то еще, вам придется запустить приложение, которое делает свое дело.
Вы можете написать простое консольное приложение, которое принимает звуковой файл (или звуковой идентификатор) в качестве аргумента и называется PlaySound
Я где-то нашел этот VB-скрипт, который может решить эту проблему (извиняюсь за автора, но я не знаю, кто это ;). Это немного сложно, но вы получите картину:
' найдите ссылку на сценарий VB здесь: ' http://www.csidata.com/custserv/onlinehelp/vbsdocs/VBSTOC.htm set objvoice = createobject("sapi.spvoice") set objfile = createobject("sapi.spfilestream.1") если wscript.arguments.count = 0, то objfile.open "c:\windows\media\Windows Proximity Notification.wav" еще wscript.echo wscript.arguments(0) конец, если objvoice.volume = 100 objfile.speakstream obj-файл
надеюсь это поможет, мне помогло на 100%...
Это сработало очень хорошо для меня. Все, что вам нужно сделать, это изменить C:\Windows\Media\Windows Critical Stop.wav на любое имя вашего файла.
@echo off
title ERROR
::"setting up" error sound - creating vbs file to make sound
set "file=C:\Windows\Media\Windows Critical Stop.wav"
( echo Set Sound = CreateObject("WMPlayer.OCX.7"^)
echo Sound.URL = "%file%"
echo Sound.Controls.play
echo do while Sound.currentmedia.duration = 0
echo wscript.sleep 100
echo loop
echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000) >sound.vbs
::playing sound
start /min sound.vbs
::wait 1 second for vbs to let go of file
ping n- 1 127.0.0.1>nul
::delete vbs file
del sound.vbs
На XP я делаю это
start /min mplay32 /play /close %WINDIR%\media\tada.wav
Это не идеально, но это действительно легко, и это работает.
Вы можете использовать fmedia для воспроизведения звукового файла из терминала Windows:
fmedia file.mp3
Эта команда начнет воспроизведение file.mp3
на переднем плане и выйдите после завершения воспроизведения файла.
Если вы хотите сделать это в фоновом режиме, добавьте --background
переключиться на вашу команду:
fmedia file.wav --background
Эта команда запустит новый процесс в фоновом режиме и немедленно отсоединится от вашей консоли.
fmedia - портативное приложение (работает без установки) и потребляет очень мало системных ресурсов. Кроме того, его время запуска является мгновенным.
PS Используйте команду fmedia.exe --install
добавить его в свой %PATH%
переменная окружения, в противном случае вам нужно выполнить ее с полным путем, например D:\fmedia\fmedia.exe
,
Я использую mplayer
за это. Немного излишним, поскольку он может воспроизводить практически любой медиа-файл. Последние сборки Windows можно найти в spirton, начиная с 2013 года. Пример использования:
mplayer c:\windows\media\chimes.wav
Вы должны добавить mplayer.exe в вашу PATH (см. Что такое PATH и другие переменные среды и как я могу их установить или использовать?) Или Как я могу окончательно добавить запись в системную переменную PATH через командную строку?)