วิธีง่ายๆในการสลับอุปกรณ์เสียงออกเริ่มต้น


21

ฉันต้องการวิธีที่ง่ายกว่าในการเปลี่ยนอุปกรณ์เสียงเริ่มต้นจากการ์ดเสียงเป็นชุดหูฟัง usb

ขณะนี้ใช้เวลาคลิกขวาที่แม่นยำมากคลิกซ้ายคลิกขวาอีกครั้งและคลิกซ้ายอีกสองครั้ง

เป็นการดีที่ฉันจะได้มันสลับกับคีย์ลัด (มันง่ายขึ้นเล็กน้อยใน XP แต่ไม่มาก)

แนะนำให้ใช้โซลูชันซอฟต์แวร์ แต่ฉันเปิดรับข้อเสนอแนะที่ใช้ฮาร์ดแวร์

ฉันกำลังใช้งาน Windows 7 อยู่ในขณะนี้


บอกฉันเกี่ยวกับมัน! และ Windows ควรได้รับการออกแบบมาให้ใช้งานง่าย Pfft
Will Sheppard

คำตอบ:


16

ฟรีและโอเพ่นซอร์ส: SoundSwitch

ป้อนคำอธิบายรูปภาพที่นี่


ดูเท่ ฉันจะลองดูนะ
MBraedley

มีความสุข !! มันใช้งานได้ดี!
Pedro77

ดูเหมือนว่าผู้เขียนต้นฉบับ, Jeroen Pelgrims พัฒนาส่งมอบในเดือนสิงหาคม 2015 เพื่อแอนทอน Aflalo ที่อัปเดตสำหรับ Windows 10 และย้ายกิจกรรมการพัฒนาเพื่อBelphemur / SoundSwitch บน GitHub
robertpateii

1
นี่เป็นโปรแกรมที่ยอดเยี่ยม หนึ่งเคล็ดลับ: คุณสามารถเปลี่ยนชื่ออุปกรณ์เสียงได้จาก 1) เรียกใช้c:\windows\system32\control.exe mmsys.cpl2) คลิกขวาที่อุปกรณ์เสียงของคุณ -> คุณสมบัติ ชื่อใหม่จะถูกอัพเดตเป็น SoundSwitch หลังจากคุณรีสตาร์ทโปรแกรม
np8

12

ฉันใช้NirCMDเครื่องมือบรรทัดคำสั่งที่ดีซึ่งช่วยให้คุณแก้ไขการตั้งค่า windows จำนวนมากโดยใช้สคริปต์

ในกรณีนี้ก็จะเป็น

nircmd.exe setdefaultsounddevice "USB Headset"

ฉันใช้เพื่อเปลี่ยนหน้าจอหลักของฉันให้เป็นทีวีของฉันและส่งสัญญาณเสียงผ่าน HDMI ไปยังอุปกรณ์นั้น:

nircmdc.exe setprimarydisplay \\.\DISPLAY7
nircmdc.exe setdefaultsounddevice "SONY TV-4"

9

ใช้AutoIt

ข้อได้เปรียบหลักคือคุณไม่ต้องติดตั้งซอฟต์แวร์ใด ๆ มันทำงานนอกกรอบ หลังจากที่คุณสร้างเครื่องมือแล้วให้วางทางลัดบนเดสก์ท็อปของคุณเพื่อสลับอุปกรณ์ของคุณ

วิธีการตั้งค่า

  1. สร้างไฟล์ข้อความใหม่ด้วย Notepad และคัดลอกและวางรหัส

    Run("c:\windows\system32\control.exe mmsys.cpl")
    WinWaitActive("Sound")
    WinSetOnTop ("Sound","Sound", 1 )
    send("{DOWN}")
    if ControlCommand("Sound", "", 1002, 'IsEnabled') Then
        ControlClick("Sound", "Set Default", 1002)
        $message = "Speakers"
    else
        send("{DOWN}")
        ControlClick("Sound", "Set Default", 1002)
        $message = "Headset"
    EndIf
    WinClose("Sound")
    TrayTip("", $message, 5)
    Sleep(2000)
    
  2. แก้ไขบรรทัดที่ 4 และ 8 send("{DOWN}")ตามความต้องการของคุณ โค้ดตัวอย่างด้านบนสลับระหว่างอุปกรณ์ # 1 และ # 2 เท่านั้น คุณต้องแก้ไขสองบรรทัดตามความต้องการของคุณ ดูคำอธิบายของฉันด้านล่าง

  3. แทนที่"ลำโพง"และ"ชุดหูฟัง"ด้วยชื่ออุปกรณ์ที่สอดคล้องกันของคุณหรือสิ่งที่คล้ายกันใน
    ภายหลังคำแนะนำนี้จะปรากฏในถาดของคุณเป็นเวลา 5 วินาทีหากคุณสลับอุปกรณ์เสียง

  4. สำหรับ Windows ที่ไม่ใช่ภาษาอังกฤษคุณจะต้องแทนที่การตั้งค่าเริ่มต้นในบรรทัดที่ 6 และ 10 ด้วยข้อความปุ่มแปลเป็นภาษาท้องถิ่นของคุณ
    ป้อนคำอธิบายรูปภาพที่นี่

  5. บันทึกไฟล์เป็นsomething.au3

  6. ดาวน์โหลดเวอร์ชันบีบอัดของAutoItและแตกไฟล์ ไปที่โฟลเดอร์ย่อยAut2Exeและเริ่มAut2exe.exeเพื่อแปลงสคริปต์. AU3 เป็นไฟล์. EXE คุณทำเสร็จแล้ว

อ้างอิงถึงคำสั่ง AutoIt ทั้งหมด


หรือใช้ AutoHotKey

โดยพื้นฐานแล้วจะเหมือนกันเฉพาะกับ AutoHotKey เท่านั้น การผูกคีย์นั้นทำในสคริปต์#!zซึ่งหมายความว่าทุกครั้งที่คุณกดAlt+ Win+ zคุณจะสลับระหว่างอุปกรณ์ # 1 และ # 2

วิธีการตั้งค่า

  1. วางรหัสด้านล่างลงในไฟล์ข้อความและบันทึกเป็น SoundToggle.ahk

    #!z::
    Run, c:\windows\system32\control.exe mmsys.cpl    
    WinWaitActive, Sound
    WinSet, AlwaysOnTop, On, Sound    
    Send, {DOWN}    
    ControlGet, MyState, Enabled, , Button2
    If (MyState = 1){
        ControlClick, Button2, A
    } Else {
        Send, {DOWN}
        ControlClick, Button2, A
    }    
    WinClose, Sound        
    return
    
  2. ดาวน์โหลดAutoHotKey (Unicode 32-bit)และแตกไฟล์AutoHotKey.exe

  3. สร้างทางลัดไปยัง. EXE และแก้ไขบรรทัดเป้าหมายตามเส้นทางของคุณเอง

    "C:\myfolder\AutoHotkey.exe" "C:\myfolder\SoundToggle.ahk"
    
  4. ย้ายทางลัดไปยังโฟลเดอร์เริ่มต้นของคุณ


วิธีแก้ไขsend("{DOWN}")บรรทัด

เปิดแผงเสียงของคุณกับWin+ Rและป้อนการควบคุมเสียง mmsys.cpl คุณต้องการทราบจำนวนครั้งที่คุณต้องกดDOWNปุ่มเพื่อไปยังอุปกรณ์เสียงเครื่องแรกของคุณและกี่ครั้งที่จะกดDOWNอีกครั้งเพื่อไปยังอุปกรณ์ที่สอง

ตัวอย่างเช่นในการสลับอุปกรณ์ # 3 และ # 5 คุณต้องกดสามครั้งsend("{DOWN 3}")และกดลงอีกครั้งสองครั้งsend("{DOWN 2}")เพื่อเข้าถึงอุปกรณ์ที่ห้า (3x down + 2x down = อุปกรณ์ที่ 5) คุณได้รับความคิด

ป้อนคำอธิบายรูปภาพที่นี่


Autohotkey นั้นเรียบร้อยจริงๆ เพียงแค่ทราบว่ามันอาจจะต้องใช้sleep, 100ระหว่างส่ง {} ControlGetลงที่สำคัญและทำ สคริปต์ของฉันไม่รู้จักEnabledสถานะอย่างถูกต้องเป็นอย่างอื่น
Wizongod

นอกจากนี้คุณต้องติดตั้ง Autoit และเขียนสคริปต์ฉันคิดว่าวิธีแก้ปัญหาแรกนั้นง่ายกว่าและใช้งานได้จริง
arana

8

แอพนี้ชื่อ " Coastal Audio Changer " ควรใช้งานได้กับ Windows 7 ตั้งแต่ปี 2012 มันมีรุ่นทดลองใช้ฟรีและมีราคา $ 3 Andrew Bailey ผู้แต่งเป็นเจ้าภาพในการทดลองและลิงค์ซื้อบนเว็บไซต์Coastal Audio Changer


ฉันลงเอยด้วยการทดลองใช้แอพนี้จากนั้นทำการซื้อ มันเป็นรถบั๊กเล็ก ๆ น้อย ๆ ในตอนแรก แต่หลังจากนั้นผู้เขียนก็ออกเวอร์ชั่นใหม่ในเดือนเมษายน 2011 และตอนนี้ฉันก็ชอบมัน มันสมบูรณ์และคุ้มค่าโดยสิ้นเชิง 5 bucks :)
robertpateii

6
ใช้งานตอนนี้เพราะมันง่ายกว่าทำงานได้ดีขึ้นและเป็นโอเพ่นซอร์ส: soundswitch.codeplex.com
robertpateii

1
คุณสามารถสรุปวิธีแก้ปัญหาได้ที่นี่? เมื่อลิงค์นั้นตาย (เมื่อไม่ใช่ถ้า) คำตอบของคุณจะไร้ประโยชน์
Joris Groosman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.