Jak mogę odtworzyć dźwięk (sygnał dźwiękowy procesora lub plik wav, nie ważne co) za pomocą polecenia cmd systemu Windows?
Jak mogę odtworzyć dźwięk (sygnał dźwiękowy procesora lub plik wav, nie ważne co) za pomocą polecenia cmd systemu Windows?
Odpowiedzi:
Teraz nie w systemie Windows, aby przetestować to możliwe rozwiązanie, ale spróbuj: „uruchomić”
Myślę, że otworzy plik wav ze skojarzonym programem, który twój system Windows ma dla plików „.wav”.
I zauważ, że jest to zgadywanka - ktoś z systemem Windows może zaoferować lepsze rozwiązanie, jeśli to nie zadziała
Możesz to zrobić natywnie za pomocą PowerShell. PowerShell jest dołączony do systemu Windows Vista i nowszych wersji i można go pobrać z firmy Microsoft dla starszych wersji.
Do załadowania System.Media.SoundPlayer
klasy .NET można użyć programu PowerShell , którego można użyć do odtworzenia pliku wave.
(New-Object Media.SoundPlayer "C:\WINDOWS\Media\notify.wav").Play();
Jeśli chcesz, możesz uruchomić to z normalnego wiersza poleceń:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").PlaySync();
(zwróć uwagę, że PlaySync
użyto go w drugim przykładzie, ponieważ standardowe odtwarzanie asynchroniczne zostanie przerwane przez zamknięcie procesu PowerShell po uruchomieniu w ten sposób)
A jeśli chcesz odtworzyć tylko pierwszą, powiedzmy, 5 sekund dźwięku:
powershell -c (New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").Play(); Start-Sleep -s 5; Exit;
Sygnał dźwiękowy można łatwo wykonać w normalnym wierszu poleceń za pomocą echo ^G
(gdzie ^G
reprezentuje BEL, znak 7 ASCII, wstawiony z Ctrl+ G), jak opisano w innych odpowiedziach. W trosce o kompletność, oto metoda PowerShell:
echo ^G
Tak, jest taki sam jak ten cmd
. echo
w PowerShell jest aliasem (tzn. oznacza to samo) Write-Host
, który wyświetla coś na ekranie (lub uruchamia dźwięk powiadomienia Windows w przypadku BEL
).
Alternatywną metodą w PowerShell jest użycie sekwencji ucieczki dla BEL, zamiast wstawiania dosłownego znaku BEL za pomocą Ctrl+ G:
echo `a
`
jest znakiem ucieczki PowerShell, który modyfikuje znaczenie znaku po nim. Znak ucieczki a
oznacza BEL. Zaletą tego podejścia jest to, że jest łatwiejsze i bardziej widoczne po wpisaniu do skryptu.
Aby uruchomić to w pliku wsadowym (ponownie, Vista lub nowszym):
powershell -c echo `a
Play()
(asynchronizować), poczekać na semafor i zamknąć. Semafory to czystszy sposób na zrobienie tego, ale nieco bardziej skomplikowane. Z przyjemnością zajmę się dalszymi szczegółami na czacie .
Zainstaluj VLC. Użyj następującego polecenia. Zaczyna się NAPRAWDĘ szybko. Tego właśnie użyłem w Windows 7 b / c wmplayer trwa tak długo, a opcja / close została usunięta z wmplayer.
vlc.exe --play-and-exit audio.wav
vlc -I dummy --dummy-quiet t.mp3 vlc://quit
z forum.videolan.org/viewtopic.php?t=79516#p262603
(Podczas gdy stary wątek, ludzie znajdą go podczas wyszukiwania). Widzę, że ktoś już polecił VLC. Używam go do odtwarzania dźwięku w systemie Windows bez niczego widocznego przy użyciu parametrów: „c: \ Program Files (x86) \ videolan \ vlc \ vlc.exe” - qt-start-minimized --play-and-exit "c: \ Program Files (x86) \ videolan \ vlc \ Windows Exclamation.wav "
Głównym dodatkiem do poprzedniego komentarza jest --qt-start-minimized Ścieżki i znaki cudzysłowu mają jedynie zilustrować typowe zastosowanie. Użyłem tego bez zmian w XP, 7, 10; Spodziewam się, że Vista i 8.x też będą działać.
Jeśli zwykły sygnał dźwiękowy jest w porządku, powtórz znak o wartości 7, tak zwany znak dzwonka . Należy jednak pamiętać, że sygnały dźwiękowe można wyłączyć.
Jeśli chcesz czegoś innego, musisz uruchomić aplikację, która załatwi sprawę.
Możesz napisać prostą aplikację konsoli, która wziął plik dźwiękowy (lub identyfikator dźwięku) jako argument i nazwał PlaySound
Bardzo lekkim rozwiązaniem jest cmndPlayWAV.jar, który działa również w systemach Linux i OS / X. Ma wbudowany dźwięk, jeśli nie określono parametru lub można podać pełną ścieżkę do pliku .wav. Nawiasem mówiąc, zawsze można utworzyć wiadomość audio .wav do użycia z Windows Recorder.
Na XP robię to
start /min mplay32 /play /close %WINDIR%\media\tada.wav
Nie jest idealny, ale jest naprawdę łatwy i działa.
Używam mplayer
do tego. Trochę przesada, ponieważ może odtwarzać prawie każdy plik multimedialny. Najnowsze kompilacje systemu Windows można znaleźć w spirton , od 2013 roku. Przykład użycia:
mplayer c:\windows\media\chimes.wav
Należy dodać Mplayer.exe do PATH (patrz: Jakie są ścieżki i inne zmienne środowiskowe i jak mogę ustawić lub ich używać? Lub Jak mogę na stałe dołączyć wpis do zmiennej PATH systemu, poprzez linię poleceń? Aby to zrobić. )
Możesz użyć fmedia do odtworzenia pliku dźwiękowego z terminala Windows:
fmedia file.mp3
To polecenie rozpocznie odtwarzanie file.mp3
na pierwszym planie i zakończy po zakończeniu odtwarzania pliku.
Jeśli chcesz to zrobić w tle, dodaj --background
przełącznik do polecenia:
fmedia file.wav --background
To polecenie uruchomi nowy proces w tle i natychmiast odłączy się od konsoli.
fmedia to przenośna aplikacja (działa bez instalacji) i zużywa bardzo małą ilość zasobów systemowych. Ponadto jego czas uruchamiania jest natychmiastowy.
PS Użyj polecenia, fmedia.exe --install
aby dodać ją do %PATH%
zmiennej środowiskowej, w przeciwnym razie musisz wykonać ją z pełną ścieżką, np D:\fmedia\fmedia.exe
.
start file.wav
to zły pomysł. Uruchomienie rozdętego odtwarzacza multimedialnego może potrwać sekundę, tylko dla jednego sygnału dźwiękowego. Ponadto powiązania plików mogą być niepoprawne, odtwarzacz multimediów może nie odtwarzać pliku lub może odtwarzać go w kółko itp . Sposób tworzenia prostego „sygnału dźwiękowego” polega na pisaniubeep ^G
. „^ G” nie jest akcentem okrężnym, po którym następuje wielka litera G, ale raczej znakiem specjalnym, który wstawiasz, naciskając Ctrl + G. W rzeczywistości jest to znak BEL o wartości ASCII 0x07.