Rozwiązanie wszystkich dokuczliwych problemów z automatyzacją systemu Windows: AutoIt !
Umieść ten AutoIt i skompiluj go
;-----Configuration-----
;The title of the sound config window.
Dim $ConfigWindowTitle = "Sound"
;-----End of configuration----
Dim $ItemNumber = 1
If $CmdLine[0] >= 1 Then ;If we have a parameter...
$ItemNumber = $CmdLine[1] ;...we should press the button the specified number of times.
EndIf
Run("control mmsys.cpl") ;Run the sound control applet and hide it.
WinWaitActive($ConfigWindowTitle) ;Wait for it to be active before sending keystrokes.
Send("{TAB}{TAB}{TAB}{TAB}") ;Put the focus on the list
For $i = 1 to $ItemNumber Step 1
Send("{DOWN}")
Next
Send("!s") ;Press Alt + S to set the selected device as the default.
WinClose($ConfigWindowTitle)
Teraz utwórz skrót, a następnie w polu Cel podaj ścieżkę do skompilowanego pliku wykonywalnego. Jako argument umieść numer urządzenia dźwiękowego na liście, na którą chcesz się przełączyć. (aby przejść do najwyższej pozycji na liście, umieść 1, drugą pozycję na liście, umieść 2 itd.). Jeśli potrzebujesz skrótu klawiaturowego, użyj pola Klawisz skrótu w oknie właściwości skrótu.
Szukałem czegoś, co chcesz zrobić, i odkryłem, że nie ma programowego sposobu przełączania urządzeń audio w Vista / 7. Po prostu nie jest to coś, co Microsoft zdecydował, że programiści muszą zrobić, więc tworzę ten skrypt, aby zautomatyzować ten proces. Nie jest to najlepsze, ponieważ wyskakuje okno, aby zmienić urządzenie (konieczne), ale umożliwia tworzenie skrótów do zmiany urządzenia wyjściowego dla twojego dźwięku.
Domyślnie , moim zdaniem, domyślny zmieniacz audio jest obecnie najlepszym rozwiązaniem.
Używa nieudokumentowanych wywołań systemowych zamiast symulować naciskanie klawiatury, co oznacza, że można go używać w aplikacjach pełnoekranowych bez obaw.
źródło
@Dan Walker Ładne rozwiązanie, ale nie idealne;)
Skrypt ten wykorzystuje plik do faktycznego przełączenia, dzięki czemu można używać tego samego skrótu do przełączania między urządzeniami odtwarzającymi. To tylko prosta edycja:
źródło
Przez pewien czas googlowałem i jedyną rzeczą, która mi pomogła, jest skrypt z AutoHotKey, jedyne życzenie, jakie mam, to zrobienie tego w tle .. Oto skrypt:
Możesz to zmienić, aby spełnić Twoje potrzeby
źródło
SendInput {Down}
zamiastControlSend,SysListView321,{Down}
. Musiałem także zmienić liczbę {Downs}, aby pasowały do moich urządzeń audio.rozwiązanie fakt działa jak urok. Oto mały skrypt dla auto-klucza, który wybiera pierwsze urządzenie audio jako domyślne po naciśnięciu „F4”, a drugie po naciśnięciu „F3”. Ta wersja działa ze wszystkimi wersjami systemu Windows. Testowane przy użyciu Win 7 64.
źródło
@cptloop Domyślny zmieniacz audio był całkiem niezły, ale irytująco nie ustawił urządzenia jako domyślnego urządzenia komunikacyjnego po ustawieniu go jako urządzenia domyślnego.
To doprowadziło mnie do znalezienia Audio Switchera , który ma kilka dodatkowych funkcji:
Jedyne, co mi się nie podoba, to to, że nie pozwala na używanie jednego skrótu do przełączania między dwoma urządzeniami, każde musi być skonfigurowane z własnym skrótem. To powiedziawszy, v2.0 jest w fazie rozwoju i obiecuje pewne ulepszenia funkcji, a także obsługę wtyczek. Opublikowali również podstawowy interfejs API, dzięki czemu można stworzyć własne, dostosowane do potrzeb rozwiązanie.
Edycja: Zgodnie z Xenolightning / AudioSwitcher_v1 # 607 , zdolność do przełączania / cyklowania urządzeń jest już zaimplementowana w wersji 2.0.
źródło
Innym dobrym programem do tego jest Audio Router. Jest to darmowy program (GPL) z 64-bitowymi i 32-bitowymi wersjami systemu operacyjnego. Oto link GitHub programu:
Router audio
Oto prosty GIF, w jaki sposób jest używany:
źródło