Làm cách nào để quản lý nhiều thiết bị phát lại âm thanh trên Windows Vista / 7?


33

Tôi đã có loa (âm thanh trong) và tai nghe (tai nghe USB có thẻ âm thanh riêng) được kết nối với máy tính để bàn của tôi. Trong Windows 7, tôi có thể nhấp chuột phải vào Bộ trộn âm thanh và chọn Thiết bị phát lại và chuyển đổi giữa các thiết bị này.

Có một cách dễ dàng hơn, có lẽ là một phím tắt, sẽ làm cho việc chuyển đổi dễ dàng hơn? Tôi đang làm việc trong một không gian chung đôi khi tôi muốn tai nghe để tránh làm phiền người khác, nhưng vào những lúc khác, loa vẫn ổn. Tôi muốn có thể chuyển đổi nhanh chóng. Trong một thế giới lý tưởng, giải pháp cho câu hỏi của tôi cũng sẽ hoạt động trong Vista.

Câu trả lời:


19

Giải pháp cho tất cả các vấn đề tự động hóa Windows dai dẳng của bạn: AutoIt !

Đặt AutoIt này và biên dịch nó

;-----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)

Bây giờ hãy tạo một lối tắt và trong Target đặt đường dẫn đến tệp thực thi được biên dịch. Đối với một đối số, đặt số lượng thiết bị âm thanh trong danh sách mà bạn muốn chuyển sang. (để chuyển sang mục hàng đầu trong danh sách, đặt 1, mục thứ hai trong danh sách, đặt 2, v.v.). Nếu bạn muốn có một phím tắt, hãy sử dụng trường Phím tắt trong cửa sổ thuộc tính của phím tắt.

Tôi đang tìm kiếm thứ gì đó để làm những gì bạn muốn làm và thấy rằng không có cách lập trình nào để bạn có thể chuyển đổi thiết bị âm thanh trong Vista / 7. Đó không phải là điều mà Microsoft quyết định rằng các lập trình viên cần phải làm, vì vậy tôi tạo kịch bản này để tự động hóa quy trình. Nó không phải là tốt nhất vì nó bật lên cửa sổ để thay đổi thiết bị (cần thiết), nhưng nó có thể tạo các phím tắt để thay đổi thiết bị đầu ra cho âm thanh của bạn.


2
Đây có lẽ là câu trả lời hữu ích nhất mà tôi chưa tìm thấy trên toàn bộ trang web này! Cảm ơn một lần nữa vì điều này ....
JL.

Rất tuyệt vời, hoạt động tuyệt vời.
WerkkreW

9

Theo tôi, mặc định Audio Changer là giải pháp tốt nhất.

Nó sử dụng các cuộc gọi hệ thống không có giấy tờ thay vì mô phỏng các lần nhấn bàn phím, có nghĩa là bạn có thể sử dụng nó trong các ứng dụng toàn màn hình mà không phải lo lắng.


Ý tưởng tuyệt vời, nhưng không chỉ không hoạt động, giờ đây tai nghe của tôi hoàn toàn không được phát hiện khi cắm điện. :(
Nick Spreitzer

2
Rat khuyen khich! 10 lần tốt hơn so với tập lệnh AutoIt. Nên là câu trả lời được chấp nhận, thực sự.
Otiel

2
Các tập tin thiết lập có tại đây: sourceforge.net/projects/defaultaudiocha/files Wow đây có lẽ là giải pháp chuyển đổi thiết bị phát lại sạch nhất mà tôi từng thấy !! +1
Geo

4

@Dan Walker Giải pháp đẹp, nhưng không hoàn hảo;)

Tập lệnh này sử dụng sự tồn tại của một tập tin để thực sự chuyển đổi, vì vậy bạn có thể sử dụng cùng một phím tắt để chuyển giữa các thiết bị phát lại. Đây chỉ là một chỉnh sửa đơn giản:

;-----Configuration-----
;The title of the sound config window.
Dim $ConfigWindowTitle = "Sound"
;-----End of configuration----

Dim $ItemNumber = 1 ; The first itme in the audio list

If FileExists ("a") Then; Use the existence of a file to know if we should toggle
    FileDelete("a")
    $ItemNumber = 3 ; The audio playback device you want to toggle to
Else
    FileOpen("a", 1)
    FileClose("a")
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)

Thật tuyệt, tôi thích sự thay đổi
Chaulky 22/03/2016

3

Đã làm điều này trong một thời gian và điều duy nhất đã tạo ra mánh khóe cho tôi là một kịch bản từ AutoHotKey, điều ước duy nhất tôi có là thực hiện điều này trong nền .. Đây là kịch bản:

Run, mmsys.cpl
WinWait,Sound
ControlSend,SysListView321,{Down}
ControlClick,&Set Default
ControlClick,OK

Bạn có thể thay đổi nó để đáp ứng nhu cầu của bạn


Điều này làm việc cho tôi, nhưng tôi phải sử dụng SendInput {Down}thay vì ControlSend,SysListView321,{Down}. Tôi cũng đã phải thay đổi số lượng {Downs} để phù hợp với các thiết bị âm thanh của mình.
Iain

3

giải pháp của fakt hoạt động như một sự quyến rũ. Ở đây một đoạn script nhỏ cho autohotkey chọn thiết bị âm thanh đầu tiên làm mặc định khi bạn nhấn "F4" và đoạn thứ hai khi nhấn "F3". Phiên bản này hoạt động với tất cả các phiên bản Windows. Đã thử nghiệm bằng Win 7 64.

F3::
Run, mmsys.cpl
WinWaitActive,Sound
ControlSend,SysListView321,{Down}
ControlSend,SysListView321,{Down}
Sleep, 50
ControlClick,Button2
ControlClick,OK
return

F4::
Run, mmsys.cpl
WinWaitActive,Sound
ControlSend,SysListView321,{Down}
Sleep, 50
ControlClick,Button2
ControlClick,OK
return

2

@cptloop Trình thay đổi âm thanh mặc định khá tốt, nhưng thật khó chịu khi không đặt thiết bị làm thiết bị liên lạc mặc định sau khi thiết bị được đặt làm thiết bị mặc định.

Điều đó dẫn tôi đến việc tìm Audio Switcher , có một số tính năng bổ sung:

  • Hỗ trợ chuyển đổi thiết bị ghi âm
  • Hỗ trợ nhiều phím nóng
  • Chuyển đổi kép (trao đổi mặc định và thiết bị liên lạc)
  • Và hơn thế nữa!

Điều duy nhất tôi không thích là nó không cho phép bạn sử dụng một phím nóng duy nhất để chuyển đổi giữa hai thiết bị, mỗi thiết bị cần được cấu hình bằng phím nóng riêng. Điều đó nói rằng, v2.0 đang được phát triển và hứa hẹn một số cải tiến về tính năng, cũng như hỗ trợ plugin. Họ cũng đã xuất bản API cơ bản, vì vậy có thể tạo ra giải pháp phù hợp của riêng bạn.

Chỉnh sửa: Theo xenolightning / AudioSwitcher_v1 # 607 , khả năng chuyển đổi / chu trình thiết bị đã được triển khai trong v2.0.


0

Một chương trình tốt khác để làm điều này là Audio Router. Đây là chương trình miễn phí (GPL) với các phiên bản HĐH 64 bit và 32 bit. Đây là liên kết GitHub của chương trình:

Bộ định tuyến âm thanh

Đây là một GIF đơn giản về cách nó được sử dụng:

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.