Jak sprawić, by głośnik komputera wydał dźwięk z wiersza polecenia systemu Windows 7?

49

Korzystam z długich kodowań wideo za pomocą interfejsu wiersza poleceń hamulca ręcznego . Po zakończeniu kodowania chciałbym usłyszeć sygnał dźwiękowy z komputera , ponieważ zwykle wyłączam duże głośniki zewnętrzne.

W systemie Linux instalowałbym pakiet „ beep ”, ale jak dotąd nie znalazłem takiego programu dla systemu Windows 7.

Ewentualnie powiązane linki:

Edycja: Wydaje się, że pytanie zmieniło się w „Jak sprawić, by Windows 7 emitował sygnał dźwiękowy w głośniku komputera?” , na które odpowiedź udzielona przez HarryMC jest najbardziej odpowiednia.

oktosiTe
źródło
6
Ctrl + G> enter otrzymuje systemowy sygnał dźwiękowy w wierszu polecenia. Wielokrotność Ctrl + G otrzymuje wiele sygnałów dźwiękowych.
Moab
@Dennis Williamson: Tak, ale w tym przypadku korzystam z systemu Windows 7. Jestem najbardziej świadomy moich opcji, jeśli chodzi o Linuksa.
oKtosiTe
2
@Moab: To nie powoduje, że głośnik PC wydaje sygnał dźwiękowy, ale domyślne urządzenie wyjściowe dźwięku.
oKtosiTe
3
Niektóre systemy domyślnie używają głośnika PC, jeśli nie są podłączone żadne inne głośniki.
Moab
1
@oKtosiTe Interesujące. Na moim komputerze z głośnikiem PC i 64-bitowym 7 słyszę sygnał dźwiękowy podczas używania ^ G w CMD.
AndrejaKo

Odpowiedzi:

13

Pomoże to wiedzieć, czy twój system Windows 7 jest 64-bitowy czy 32-bitowy.

Z domyślnego Beep PC Głośnik zmieniony w Windows 7 - Jak wrócić do starego stylu :

Domyślną sygnał jest kontrolowana przez niedostatecznie kierowcy c:\windows\system32\drivers\beep.sys. Może jeśli wyłączysz go ze sterownikiem z XP / Vista, zwiększy to głośność.

Aby zobaczyć ten sterownik, musisz otworzyć menedżera urządzeń, a następnie kliknąć Widok> Pokaż ukryte urządzenia. Następnie w sekcji Sterowniki niezgodne z Plug and Play zobaczysz „Beep”. To jest sterownik, który uruchamia Twój dźwięk. Kliknij go prawym przyciskiem myszy, a następnie wybierz właściwości i przejdź do zakładki sterownika, a następnie kliknij Szczegóły sterownika… To pokazuje wersję pliku, która wygląda na zmienioną w systemie Windows 7. Więc zastąp ją starszą wersją i zobacz, co się stanie.

Procedura postępowania:

  1. Uruchom z płyty UBCD4WIN (lub BartPE, jeśli nie masz dysku twardego SATA)
  2. Przejmij na własność plik „C: \ Windows \ System32 \ Drivers \ Beep.sys” i nadaj lokalnej grupie „Administratorzy” uprawnienia „Pełna kontrola”.
  3. Zmień nazwę „Beep.sys” na „Beep.old” (na wszelki wypadek)
  4. Skopiuj „Beep.sys” z komputera XP do tej lokalizacji.
harrymc
źródło
Windows 7, nad którym pracuję, jest 32-bitowy. Spróbuje zamienić beep.syssię z tym z Windows XP.
oktosiTe
Na szczęście mam podwójny rozruch z XP i Arch Linux, więc myślę, że mogę pominąć bit Live CD. :-)
oKtosiTe
1
Kiedy próbowałem tego na 64-bitowym systemie Windows 7, urządzenie „Beep” nie działało. Ktoś wypróbował to w wersji 64-bitowej?
Jason
@Jason: Czy wypróbowałeś plik beep.sys z 64-bitowego systemu XP / Vista?
harrymc
1
@Jason: Prawdopodobnie problem z podpisywaniem sterowników, który uniemożliwia niepodpisanym sterownikom XP działanie w systemie Windows 7 64-bit. To rozwiązanie nie ma zatem zastosowania do systemu Windows 7 lub nowszych wersji 64-bitowych.
harrymc
25

W Windows 7 Beep został przepisany, aby przekazać go do domyślnego urządzenia dźwiękowego dla sesji. Zwykle jest to karta dźwiękowa, z wyjątkiem sytuacji, gdy jest uruchamiana w ramach usług terminalowych, w którym to przypadku dźwięk jest generowany na kliencie.

( źródło ) ( artykuł o tym, dlaczego ) Dla tych, którym nie przeszkadza czytanie: miało to na celu obniżenie kosztów produkcji

Ale jeśli jesteś zadowolony z tego, że sygnał dźwiękowy wydobywa się z głośników, wystarczy prosty plik wsadowy.

Możesz napisać plik wsadowy DOS, który wyemituje sygnał dźwiękowy, wykonując następujące czynności: w wierszu polecenia DOS wpisz:
echo @echo (Alt-7)>beep.bat

ale zamiast wpisywać znaki: „(Alt-7)”, przytrzymujesz klawisz Alt i naciskasz 7 na klawiaturze numerycznej. Nie używaj cyfry 7 na części klawiatury qwerty, musi ona znajdować się na klawiaturze, a Num Lock musi być włączony.

( źródło )

Nifle
źródło
2
Niestety nie jestem zadowolony z tego, że z głośników wydobywa się sygnał dźwiękowy.
oktosiTe
@ oKtosiTe - Prawdopodobnie nie masz szczęścia
Nifle
1
Czy jest jakaś alternatywa dla numpada dla Alt-7? Mam tylko laptopa i nie mam klawiatury numerycznej.
CajunLuke
4
@ CajunLuke, tak, nie używaj kombinacji klawiszy Alt w ogóle dla kodów sterujących ASCII (1-31), po prostu naciśnij Ctrl+G; to kombinacja klawiszy Ctrl dla BEL.
Synetech
3
Na moim pudełku Win7 POTRZEBUJĘ użyć ALT-007, a nie ALT-7.
Cameron,
9

Jeśli masz Python 2.x zainstalowany ten wiersz w pliku bat działa

python -c "print '\7'"
lgwest
źródło
Dostaję „SyntaxError: niepoprawna składnia”, gdy próbuję tego z Pythonem 3.3.2 (v3.3.2: d047928ae3f6, 16 maja 2013, 00:06:53) [MSC v.1600 64 bit (AMD64)] na win32
Adriaan Koster
3
Ponieważ printjest to funkcja w Pythonie 3.x, python -c "print('\7')"powinna działać.
Max Truxa,
Wykonanie tego w systemie Windows 10 powoduje, że moje głośniki odtwarzają dźwięk błędu systemu Windows. Sygnał dźwiękowy nie pochodzi z płyty głównej. :(
DaveTheMinion
Alternatywa z Perl: perl -e "print qq(\x07)". Jeśli masz strawberryperl portable, możesz użyćportableshell.bat -e "print qq(\x07)"
Benoit
Ustawiłem mój schemat dźwiękowy na Brak dźwięków i zastanawiałem się, dlaczego nic nie słyszałem. Upewnij się, że masz schemat dźwiękowy z słyszalnym dźwiękiem błędu.
mic
5

Ten mały sterownik VDD rozwiązuje problem z Windows 7 NTVDM, w którym wyjście głośnika PC nie jest prawidłowo opakowane.

Może to wynikać z faktu, że funkcjonalność sterownika systemowego BEEP.SYS została przeniesiona do Usermode Sound Agent. Więcej informacji można znaleźć na blogu Larry'ego Ostermana.

Ten sterownik próbuje rozwiązać problem, przechwytując funkcję NTVDM odpowiedzialną za sygnał dźwiękowy (LazyBeep) i zastępuje ją naszą własną implementacją, która ma różne opcje rozwiązania problemu.

http://www.waldbauer.com/tmp/dl.php?download=beepx

baldachim
źródło
W linku pobierania na stronie docelowej pojawił się wirus !!!
ellockie
Niektóre skany wirusów dają pozytywne wyniki pobierania, ale ze względu na charakter programu mogą być fałszywe. Kod źródłowy jest dołączony, więc każdy może go również sprawdzić, jeśli nie są pewni.
slhck
1
W przypadku wersji x64 spróbuj: waldbauer.com/tmp/dl.php?download=beepxp64
rustyx
RustyX Dziękuję bardzo !! To była jedyna rzecz, która w końcu zadziałała! Piękny! Mój alarm UPS znów działa! Wszystkie pochwały beepxp64.
Zdenek
5

Spróbuj startpodać fałszywy plik, który nie istnieje. To sprawia, że ​​zarówno wyskakujące okienko, jak i sygnał dźwiękowy, ale nie jestem pewien, czy chcesz wyskakujące okienko, czy nie ...

wprowadź opis zdjęcia tutaj

KenshinHeng
źródło
2
Zredagowałem odpowiedź, aby wyjaśnić; dodano obraz, aby pokazać, jak to działa.
bwDraco
6
Niestety nie wygeneruje to sygnału dźwiękowego z głośnika komputera, jeśli istnieje rzeczywiste urządzenie dźwiękowe. Konieczne byłoby wyłączenie urządzenia dźwiękowego w systemie Windows.
bwDraco
1

Odpowiedź „canopee” jest odpowiedzią! Ten sterownik, z którym się łączy, jest jedynym, który zwraca beep () dla Windows 7 64bit. Próbowałem i mogę potwierdzić, że działa jak urok.

Alternatywnie możesz rozważyć pobranie „ buzzer.exe ” z http://encode.ru/threads/383-A-command-line-tool-for-Windows-which-beeps-through-the-System-Speaker , który pomaga jeszcze bardziej korzystać z głośnika PC z wiersza poleceń. Obsługuje niestandardowe częstotliwości i powtórzenia.

W żaden sposób nie jestem połączony z waldbauer.com ani encode.ru, po prostu szukałem rozwiązania brakującego sygnału, znalazłem go i chciałem pomóc „rozpowszechnić słowo”! .. o)

Robert G.
źródło
1

Następujące wydaje się działać w systemach Windows z py2 i 3:

linia cmd:

python -c "import winsound; winsound.PlaySound('SystemExit', winsound.SND_ALIAS);"

Dokumenty

Pedro Lobito
źródło
0

Chwyć NirCmd i uruchom nircmd stdbeep.

digitxp
źródło
3
Obawiam się, że domyślny głośnik wydaje sygnał dźwiękowy, a nie głośnik PC.
oktosiTe
1
Czy na pewno jest włączony ?
digitxp
@digitxp: Sygnał BIOS i możliwość wydawania sygnałów dźwiękowych z konsoli Linuksa skłoniły mnie do przekonania, że ​​tak jest, ale podnosi się ważny punkt. Sprawdzę to.
oKtosiTe
O ile wiem, jest włączony na wszystkie możliwe sposoby.
oKtosiTe
3
Zgadzam się z OKtosiTe; nircmd odtwarza sygnał dźwiękowy przez kartę dźwiękową, NIE przez głośnik wewnętrzny; nawet w XP. Od NIRCMD.CHM: Odtwarza standardowy dźwięk systemu Windows.
Synetech
0

Jeśli wyłączysz głośniki zewnętrzne, nie będziesz ich używać do niczego innego. Możesz też po prostu odłączyć je od komputera, aby polecenie dźwiękowe przechodziło przez głośnik komputera. Nie jest wymagane dodatkowe oprogramowanie ani przeszczepy sterowników. Musisz tylko pamiętać o ich ponownym połączeniu.

Nzall
źródło
1
Odłączenie głośników nie powoduje, że dźwięk przechodzi przez głośnik komputera. Windows 7 zwykle nawet nie zwraca się już do głośnika PC, jak wskazano w niektórych innych odpowiedziach i komentarzach. Poza tym używam ich regularnie, ale nie w 100% przypadków.
oktosiTe
To już nie ma znaczenia. Komputer, o którym mowa, od tego czasu zmarł i teraz codziennie używam ultrabooka, który nie ma dedykowanego głośnika PC. Zamiast tego używam teraz zestawu głośników biurkowych (3,5 mm) do powiadomień i większości gier oraz dużych, montowanych na ścianie głośników (HDMI) do muzyki i filmów.
oktosiTe