it-swarm.asia

Windows Vista / 7'de birden fazla ses çalma aygıtını nasıl yönetirim?

Masaüstü bilgisayarıma bağlı hoparlörler (ses girişi) ve kulaklıklarım (kendi ses kartına sahip USB kulaklık seti) var. Windows 7 altında, Audio Mixer öğesini sağ tıklayıp Çalma Aygıtları öğesini seçip bu aygıtlarım arasında geçiş yapabilirim.

Geçiş yapmayı kolaylaştıran bir klavye kısayolu, belki de daha kolay bir yolu var mı? Paylaşılan bir alanda çalışıyorum bazen kulaklıkların diğer insanları rahatsız etmesini engellemek istiyordum, ancak diğer zamanlarda konuşmacılar iyi durumda. Hızlıca geçiş yapabilmek istiyorum. İdeal bir dünyada, sorumun çözümü Vista'da da işe yarayacak.

33
Brian Lyttle

Bütün bu rahatsız edici Windows otomasyon problemlerinin çözümü: AutoIt !

Bu AutoIt'i koyun ve derleyin

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

Şimdi bir kısayol oluşturun ve Hedef içinde derlenen yürütülebilir dosyanın yolunu yerleştirin. Bir argüman için, ses cihazının numarasını geçmek istediğiniz listeye yerleştirin. (listedeki ilk öğeye geçmek için 1, listedeki ikinci öğe, 2 vb. koymak). Klavye kısayolu istiyorsanız, kısayolun özellikler penceresinde Kısayol Tuşu alanını kullanın.

Ne yapmak istediğinizi yapacak bir şeyler arıyordum ve Vista/7'de ses aygıtlarını değiştirmenin programlı bir yolu olmadığını bulmuştum. Bu sadece Microsoft'un programcıların yapması gereken bir şey değil, bu yüzden süreci otomatikleştirmek için bu betiği hazırlıyorum. Cihazı değiştirmek için pencereyi açması en iyisi değildir (gerekli), ancak sesin çıkış cihazını değiştirmek için kısayollar oluşturmayı mümkün kılar.

19
Dan Walker

Default Audio Changer şu anda bence en iyi çözüm.

Klavye preslerini simüle etmek yerine belgelenmemiş sistem çağrıları kullanır, bu da endişelenmeden tam ekran uygulamalarda kullanabileceğiniz anlamına gelir.

9
cptloop

@Dan Walker Güzel bir çözüm, ama mükemmel değil;)

Bu komut dosyası, gerçekten bir geçiş yapmak için bir dosyanın varlığını kullanır, böylece oynatma aygıtları arasında geçiş yapmak için aynı kısayolu kullanabilirsiniz. Bu sadece basit bir düzenleme:

;-----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)
4
Andy Ray

Bunu bir süre Googled ve benim için püf noktası olan tek şey AutoHotKey'in bir senaryosu, sahip olduğum tek dilek, bunu arka planda yapmaktır. İşte senaryo:

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

İhtiyaçlarınızı karşılamak için değiştirebilirsiniz

3
fakts

fakt'ın çözümü bir cazibe gibi çalışır. Burada "F4" e bastığınızda ilk ses aygıtını varsayılan olarak seçen ve "F3" e basarken ikinciyi seçen küçük bir otokript betiği. Bu sürüm tüm Windows Sürümleri ile çalışır. Win 7 64 kullanılarak test edilmiştir.

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
3
NTyp

@cptloop Varsayılan Ses Değiştirici oldukça iyiydi, ancak sinir bozucu bir aygıtı varsayılan aygıt olarak ayarladıktan sonra varsayılan iletişim aygıtı olarak ayarlamazdı.

Bu beni birkaç ek özelliğe sahip Ses Değiştirici bulmaya yönlendirdi:

  • Kayıt cihazlarını değiştirmek için destek
  • Birden çok kısayol tuşu için destek
  • Çift anahtar (varsayılanı ve iletişim cihazlarını değiştirin)
  • Ve dahası!

Hoşuma gitmeyen tek şey, iki cihaz arasında geçiş yapmak için tek bir kısayol tuşu kullanmanıza izin vermemesidir, her birinin kendi kısayol tuşuyla yapılandırılması gerekir. Bununla birlikte, v2.0 geliştirilme aşamasındadır ve bazı özellik iyileştirmelerin yanı sıra eklenti desteği de vaat etmektedir. Ayrıca, temel API'yi yayınladılar, bu nedenle kendi uyarlanmış çözümünüzü oluşturmak mümkündür.

Düzenleme: xenolightning/AudioSwitcher_v1 # 607 uyarınca, aygıtları açma/kapatma özelliği zaten v2.0'da uygulanmıştır.

2
Dave Hughes

Bunu yapmak için başka bir iyi program Audio Router. 64 bit ve 32 bit işletim sistemi sürümleriyle ücretsiz (GPL) bir programdır. İşte programın GitHub bağlantısı:

Ses Yönlendirici

İşte nasıl kullanıldığına dair basit bir GIF:

enter image description here

0
user2597747