অডিও হটকি ব্যবহার করে অডিও আউটপুট উৎস পরিবর্তন?


3

আমার মেশিনে দুটি প্রাথমিক অডিও আউটপুট আছে: স্পিকার এবং একটি USB হেডসেট। বর্তমানে, উইন্ডোজ 7 পেশাদার x64 এ, আমি এই ডায়ালগটি খোলার জন্য শুরু অনুসন্ধান মেনুতে "শব্দ" টাইপ করি:

Windows 7 Sound Dialog

আমি শুধুমাত্র এই প্রশ্নের উদ্দেশ্য জন্য শীর্ষ দুটি বিকল্প সম্পর্কে যত্ন। "স্পিকারস (4-স্নেহাইজার ইউএসবি হেডসেট)" থেকে "স্পীকারস (ভিআইএ হাই ডেফিনিশন অডিও)" থেকে অটোহোটকি থেকে স্যুইচ করার উপায় আছে কিনা তা জানতে চাই। তাই আমি যখনই স্যুইচ করতে চাই তখন এই কথোপকথনটি খুলতে আমি এড়াতে পারি। ধন্যবাদ!


সুতরাং, আপনি পরিবর্তন স্বয়ংক্রিয় করতে চান ডিফল্ট ডিভাইস এখানে? অনুরূপ: superuser.com/questions/393163/...
iglvzx

উত্তর:


4

Iglvzx এর সহায়তার জন্য আমি সঠিক উত্তরটি ইঙ্গিত করার জন্য ধন্যবাদ জানাই!

; Toggles default audio device in Control Panel (switches between headset and speakers).
ScrollLock:: 
  toggle:=!toggle ;toggles up and down states. 
  Run, mmsys.cpl 
WinWait,Sound
if toggle
  ControlSend,SysListView321,{Down 1}
Else
  ControlSend,SysListView321,{Down 2}
ControlClick,&Set Default
ControlClick,OK 
return

ScrollLock আমি যে চাপ কি। toggle এটি একটি পরিবর্তনশীল যা AutoHotKey ধরে রাখে (যতদূর আমি বলতে পারি) যেটি নিচে শর্তাধীন নীচে ব্যবহার করে। mmsys.cpl উপরে অঙ্কিত উইন্ডো (আপনার নিজের জন্য দেখুন রান এটি টাইপ করুন!)। ঠিক আছে (ডাইটো) ক্লিক করতে "ডিফল্ট সেট করুন" ক্লিক করার জন্য "ক্লিকগুলি" সিলেক্ট করার জন্য উইন্ডোটির সঠিক অংশটি নির্বাচন করার জন্য UI এর সাথে সামঞ্জস্যপূর্ণ বাকি কমান্ডগুলি পরিচালনা করে।

যখন এটি চালানো হবে তখন আপনি শারীরিকভাবে অর্ধ-সেকেন্ডের জন্য পপ আপটি দেখবেন যেহেতু এটি শারীরিকভাবে সঞ্চালিত হয় এবং সবকিছু নির্বাচন করে। যখন আমি উইন্ডোজহীন বিকল্পটি পছন্দ করি এটি ভাল কাজ করে, কেননা এটি ফোকাসটি সঠিক উইন্ডো (এমনকি পূর্ণস্ক্রীন গেমস) -এ ফিরে যাওয়ার পরেও ফিরে আসে।


1
কুল! আমি এই ফিরে আসার ছিল, কিন্তু আপনি ইতিমধ্যে এটি figured আউট। Glad আমি সঠিক দিক নির্দেশ করতে পারে। :)
iglvzx

0

আমি শুধু "aafe" দ্বারা একটি স্ক্রিপ্ট tweaked। এটি বেশ কয়েকটি আউটপুট এবং চক্র তাদের সাথে কাজ করে:

; Audio Output Default cycle
ScrollLock:: 
    Run,mmsys.cpl
    WinWait,YOURSOUNDWINDOWNAME
    loop,20 ; Exits loop after 20 runs. Good if there's just one output.
    {
        ControlSend,SysListView321,{Down}
        ControlGet,isEnabled,Enabled,,&YOURSETDEFAULTBUTTONNAME
        if(!isEnabled)
        {
            break
        }
    }
    ControlSend,SysListView321,{Down}
    ControlGet, isEnabled, Enabled,, &YOURSETDEFAULTBUTTONNAME
    if(!isEnabled)
    {
        ControlSend,SysListView321,{Home}
    }
    ControlClick,&YOURSETDEFAULTBUTTONNAME
    ControlClick,OK
    WinWaitClose
    SoundPlay, *-1
return

সাউন্ড উইন্ডোর নাম এবং "ডিফল্ট সেট করুন" বোতামের নামে সমস্ত ক্যাপের পাঠ্যটি পরিবর্তন করুন। "রাখুন!"


0

এখানে একটি সমাধান যা সমস্ত অডিও ডিভাইসের মাধ্যমে লুকিয়ে থাকে এবং আপনি যা চান তা বাদ দেবেন না, যেমন S / PDIF বা উইন্ডোজ কী + Shift + W ব্যবহার করে ডিজিটাল আউটপুট।

#+w::
IfWinExist Sound
{
    WinKill Sound
}
Run rundll32.exe shell32.dll`,Control_RunDLL mmsys.cpl`,`,0 

WinWait,Sound 
IfWinNotActive,Sound WinActivate,Sound 
WinWaitActive,Sound

ControlSend,SysListView321,{Home}  
x := 1
totalDevicesCount := 0
isSecondLoop := false
isEnabled := false
;    ControlGet, isEnabled, Enabled,,&Set Default 
ControlGet, totalDevicesCount, List, Count, SysListView321 
; isEnabled AND 
StringCaseSense Off
loop 
{ 
    ControlGet, Current, List, Selected, SysListView321
    if(InStr(Current, "default device") OR x > totalDevicesCount)
    {
        break
    }
    x := x + 1
    ControlSend,SysListView321,{Down}  
} 

if (x >= totalDevicesCount) 
{
    ControlSend,SysListView321,{Home}
    x := 1 
} 

loop 
{ 
    ControlGet, Current, List, Selected, SysListView321
    ControlGet, isEnabled, Enabled,,&Set Default 
    ; msgbox %x% %isEnabled% %Current%

    ; exclude output option with the name specified
    if(InStr(Current, "Realtek Digital Output"))
    {
        isEnabled := false
    }

    if (x >= totalDevicesCount AND not isEnabled)
    {
        ControlSend,SysListView321,{Home}
        x := 1
        isSecondLoop := true
        ; msgbox breaking now %x% %totalDevicesCount% %isEnabled% %isSecondLoop%
        break
    }
    if (x > totalDevicesCount OR isEnabled)
    {
        ; msgbox breaking now %x% %totalDevicesCount% %isEnabled% %isSecondLoop%
        break
    }
    if (x >= totalDevicesCount AND isSecondLoop)
    {
        ; infinite loop breaker if no devices avaliable
        ; msgbox breaking sec %x% %totalDevicesCount% %isEnabled% %isSecondLoop%
        break
    }

    ControlSend,SysListView321,{Down}
    x := x + 1
} 


;ControlGet, Current, List, Selected, SysListView321 
;msgbox %Current% 
Sleep 100
ControlClick,&Set Default 
ControlClick,OK 
;    SoundPlay *48 
WinKill Sound

return

আমি এই ফোরামে dan112123 দ্বারা পোস্ট করা থেকে এই স্ক্রিপ্ট পরিবর্তন: http://www.autohotkey.com/board/topic/2306-changing-default-audio-device/page-4

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.