Як я можу відтворювати звук (звуковий сигнал CPU або WAV, неважливо, що) за допомогою Windows cmd?
Як я можу відтворювати звук (звуковий сигнал CPU або WAV, неважливо, що) за допомогою Windows cmd?
Відповіді:
Зараз не в Windows, щоб перевірити це можливе рішення, але спробуйте: "запустити"
Я думаю, що це відкриє файл wav із відповідною програмою, яку у ваших Windows для файлів ".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 є використання послідовності евакуації для BEL, а не вставлення буквального символу BEL з Ctrl+ G:
echo `a
`
є символом втечі PowerShell, який змінює значення символу після нього. Утік a
вказує на БЕЛ. Перевага такого підходу полягає в тому, що він легший і помітніший під час введення в сценарій.
Щоб запустити це у пакетному файлі (знову ж таки, 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: \ Програмні файли (x86) \ videolan \ vlc \ Windows Exclamation.wav "
Основним доповненням до попереднього коментаря є --qt-start-мінімізований Шляхи та символи цитат лише для ілюстрації типового використання. Я використовував це без змін у 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 та інші змінні оточення, і як я можу встановити або використовувати їх? Або Як я можу постійно Append запис в змінну 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.