ডিপর্ড নিঃশব্দ করার জন্য অ্যাপলস্প্রিপ্ট


3

সম্পাদনা: আমার প্রাথমিক প্রশ্ন একটি সমাধান উপস্থিত বলে মনে হচ্ছে না। পরিবর্তে আমি একটি বিকল্প পদ্ধতি ব্যবহার। বিকল্প পদ্ধতি দেখতে নিচে স্ক্রোল করুন।

আমি ডিসকর্ডে আমার মাইকটি নিঃশব্দ করার জন্য একটি সমাধান খুঁজছি যা আমি উন্নততর টাচটোলওলের মাধ্যমে আমার স্পর্শ বারে যোগ করতে পারি।

বিটিটি যেকোন কারণের জন্য ডিকর্ডে কী কম্বো পাঠাতে পারে না। যতদূর আমি বলতে পারি আমি দুটি বিকল্প আছে।

  1. ডিস্কোড উইন্ডোটি সক্রিয় করতে আপেলস্ক্রিপ্ট ব্যবহার করুন, কী চাপুন, তারপর উইন্ডোটি লুকান। এই কাজ করে, কিন্তু একটি মুহূর্ত জন্য অ্যাপ্লিকেশন ঝলকানি বিরক্তিকর। খারাপ যখন এটি অন্য ডেস্কটপে থাকে তখন এটি ডেস্কটপগুলি এবং তারপরে আবার ফ্লিপ করবে।

  2. শীর্ষ মেনু ক্লিক করার জন্য আপেলস্ক্রিপ্ট ব্যবহার করুন (this menu) ডিসকর্ড মেনুতে ক্লিক করুন এবং নিঃশব্দ বোতামটিতে ক্লিক করার জন্য UI উপাদানের মাধ্যমে কাজ করুন।

আমি দ্বিতীয় অপশন কাজ করতে applescript সঙ্গে যথেষ্ট অভিজ্ঞ না, কিন্তু আমি মনে করি এটা কাজ করতে পারে। UI ব্রাউজার ব্যবহার করে আমি UI উপাদানটির পথ পেতে সক্ষম হয়েছিলাম: enter image description here

আমি কিভাবে এই কাজ করতে পারি? কোন সাহায্য ব্যাপকভাবে প্রশংসা করা হয়। ধন্যবাদ

Edit HR

বিকল্প সমাধান

আমি এখানে যা করতে চাই তা সম্ভব না বলে মনে হচ্ছে, তাই আমি ডিস্কোর পরিবর্তে ওএস স্তরে মাইকটি মুছছি এবং তারপরে আমার টাচবারে বাটার টাচটুলের সাথে একটি টগল বোতাম যুক্ত করছি। এই কাজের সিস্টেম ব্যাপক যোগ সুবিধা আছে। এখানে কর্ম ভিডিও এর:

GIF

স্ট্রিমযোগ্য

যদি অন্য কেউ এই কাজ করতে চায় তবে এই পদক্ষেপগুলি আমি গ্রহণ করেছি:

1। নিম্নলিখিত স্ক্রিপ্ট দিয়ে একটি নতুন অ্যাপপ্ল্রিপ্ট তৈরি করুন:

property storedInputLevel : missing value
if input volume of (get volume settings) is 0 then
    set volume input volume storedInputLevel
    return 1
else
    tell application "System Events"
        set storedInputLevel to input volume of (get volume settings)
    end tell
    set volume input volume 0
    return 2
end if

কোথাও স্ক্রিপ্ট সংরক্ষণ করুন।

2। উন্নততর টাচ টুল খুলুন এবং একটি নতুন টাচ বার উইজেট তৈরি করুন এবং উইজেট সেট করুন Run Apple Script and Show Return Value enter image description here

3। নির্বাচন পরে পপ আপ যে উইন্ডোতে Run Apple Script and Show Return Value আপনি বাক্সে পরীক্ষা লাইন মুছে ফেলতে এবং আপনার উইজেটকে একটি নাম দিতে চান: enter image description here

3. চেহারা এবং সেটিংস বোতাম ক্লিক করুন

enter image description here

4। মধ্যে Appearance and Settings উইন্ডোটি আপনি নিম্নলিখিত সেটিংস কনফিগার করতে চাইবেন: enter image description here

আপনি না প্রয়োজন একটি বিকল্প পটভূমি রঙ সেট করতে, কিন্তু এটি আপনাকে এক নজরে নিঃশব্দ করা দেখতে সাহায্য করে।

আইকনের জন্য আপনি এইগুলি ব্যবহার করতে পারেন:

enter image description hereenter image description here

আপনি সেট যে নিশ্চিত করুন Alternate color and icon if result matches regex সেটিং 2

ক্লিক সংরক্ষণ করুন

5। আপনি তৈরি নতুন উইজেটের জন্য ড্রপ ডাউন ক্লিক করুন Predefined action এবং নির্বাচন করুন Run Apple Script (async in background)

enter image description here

6। পপ আপ যে উইন্ডোতে আপনি ক্লিক করতে চান Select Apple Script File এবং তারপর Choose Apple Script file from Disk এবং আপনি পূর্বে তৈরি স্ক্রিপ্ট ফাইল ব্রাউজ করুন। সংরক্ষণ ক্লিক করুন এবং আপনি সম্পন্ন করা হয়।

image13

এটাই. আপনার উইজেটটি আপনার মাইকটি চালু এবং বন্ধ করা উচিত এবং আপনার স্পর্শ বারের আইকনে পরিবর্তনটি প্রতিফলিত হওয়া উচিত।


উপায় দ্বারা, আপনার প্রথম বিকল্প সঙ্গে, আপনি উল্লেখ "কী প্রেস [মধ্যে] চাপুন" । এই কি উল্লেখ করে? আপনি কি কী প্রেস প্রেরণ করছেন, এটি কী করছে এবং কেন অ্যাপ্লিকেশনটি ঝলসানো হচ্ছে?
CJK

@ সিজেকে আমি এই চেষ্টা করেছি: activate application "Discord" tell application "System Events" key code 46 using {shift down, command down} -- shift-command-left end tell। এটি অ্যাপ্লিকেশনটিতে স্যুইচ করে এবং আমার মাইক্রোফোনটি নিঃশব্দ করার জন্য কী চাপ পাঠায়, কিন্তু সক্রিয় করে অ্যাপ্লিকেশনটি পপ আপ করে।
Spaisekraft

এবং ⌘⇧ ← কি করে (আমি এটা মাইক্রোফোন mutes জানি)? আমি মনে করি আমি বলতে চাচ্ছি, কিভাবে এটি এটি করে: এটি একটি মেনু শর্টকাট অ্যাপ্লিকেশন, বা একটি অন্তর্নির্মিত keybinding হয়?
CJK

আহ হ্যাঁ, এটি ডিকর্ডে একটি কী কম্বো সেট। এবং আপনি আপনার সম্পাদনাতে ঠিক আছেন যে এটি অ্যাপটিতে ফোকাস ছাড়াই কাজ করে। আমি মুগল টগল করার জন্য কী কম্বো ব্যবহার করছি, কিন্তু আমি এটি টিটিটির সাথে আমার স্পর্শ বারে একটি বোতাম তৈরি করতে চেয়েছিলাম।
Spaisekraft

আপনার নিজস্ব পরীক্ষা প্রকাশ করা হয়েছে, simulated keypresses দ্বারা বাছাই করা হচ্ছে না অনৈক্য কী-বাইন্ডিং। তত্ত্ব অনুসারে, টার্গেট করার কোন প্রয়োজন নেই অনৈক্য অ্যাপ্লিকেশন নিজেই, এটি একটি systemwide keybinding হিসাবে। অতএব, বলছে সিস্টেম ইভেন্টস শুধু উপযুক্ত keyevents ইস্যু করা উচিত আছে, আমার মতে, কাজ। কিন্তু এটা না। এটি একটি অ্যাপলস্ক্রিপ্ট বাগ ছিল না তা নিশ্চিত করার জন্য আমি দ্বিগুণ চেক করেছি এবং keyevents অনুকরণ করতে কিছু উদ্দেশ্য সি কোড লিখেছি এবং লক্ষ্য অনৈক্য (যা আপনি ObjC এর সাথে করতে পারেন, কিন্তু অ্যাপলস্ক্রিপ্ট নয়)। এটা ব্যর্থ. Cont'd ...
CJK

উত্তর:


3

প্রথমত, অনুসন্ধানের জন্য এবং সম্পন্ন করার জন্য ভালভাবে সম্পন্ন করা হয়েছে, যার মাধ্যমে আপনি সশস্ত্র এসেছেন এটি সমাধান করার জন্য কিভাবে প্রয়োগ করা যায় তা জিজ্ঞাসা করতে। এটা দরকারী সাহায্য প্রদান করা এত সহজ করে তোলে।

যে মন, সঙ্গে স্ক্রিনশট UI ব্রাউজার এটি অত্যন্ত সহায়ক, কারণ এটি আক্ষরিকভাবে ইউআই উপাদানের আধিপত্যকে বর্ণনা করে যা লক্ষ্যবস্তু মেনু আইটেমটি পৌঁছানোর জন্য এবং অ্যাপলস্ক্রিপ্টের মাধ্যমে একটি ক্লিক ইস্যু করার জন্য আমাদের অতিক্রম করতে হবে:

tell application "System Events"
    tell application process "Discord"
        tell menu bar 2
            tell menu bar item 1
                click

                tell (a reference to menu 1)
                    repeat until it exists
                        delay 0.2
                    end repeat
                    tell menu item "Mute"
                        click
                    end tell
                end tell
            end tell
        end tell
    end tell
end tell

যাইহোক, একটি পরিচিত এবং ভাল-জিজ্ঞাসিত / নথিভুক্ত / অভিযোগযুক্ত-এর মধ্যে একটি বিরক্তিকর 5-সেকেন্ডের মধ্যে অস্পষ্ট বিলম্বের ঘটনা click যে মেনু দেখায়, এবং দ্বিতীয় click যে মেনু আইটেম নির্বাচন করে। এই নির্দিষ্ট নয় অনৈক্য , কিন্তু মেনু বার আইকন মেনুতে প্রযোজ্য বলে মনে হয়।

বিভিন্ন সমাধানগুলি সমাধান করার জন্য বিভিন্ন সমাধান করা হয়েছে, তবে আমি তাদের মধ্যে বিস্তারিতভাবে যাব না কারণ তাদের মধ্যে কেউ নেই ক) নির্ভরযোগ্য, খ) পার্শ্ব প্রতিক্রিয়া ছাড়া, অথবা গ) বাস্তবায়ন পরিষ্কার। আপনি নিঃসন্দেহে একটি দ্রুত অনুসন্ধান করবেন, এবং সবচেয়ে সাধারণ সমাধান, যা হত্যা করা হয় উপর আসা সিস্টেম ইভেন্টস প্রথম দুই মধ্যে প্রক্রিয়া click ইভেন্ট নেই। কিন্তু পরে আপনি আরও পড়তে পাবেন যে পরে ব্যবহারকারীরা রিপোর্ট করে যে এই পদ্ধতিটি কাজ বন্ধ করে দেয়; এবং interrim, কারণ সিস্টেম ইভেন্টস অন্যান্য, অসম্পূর্ণ ত্রুটি নিক্ষেপ যেখানে এটি আগে না।

অতএব, আপনার জন্য এই সমাধান bittersweet, আমি ভীত। আমি আপনাকে দেখিয়েছি কিভাবে অ্যাপলস্ক্রিপ্ট আপনার মেনু আইটেমটি আপনার উপায়ের জন্য; কিন্তু শেষ ফলাফল আপনার প্রথম বিকল্পের চেয়ে বেশি আকর্ষণীয় হতে পারে না।

সম্পাদনা করুন: সম্ভাব্য অ-অ্যাপলস্ক্রিপ্ট সমাধান

একটি কপি ডাউনলোড হচ্ছে অনৈক্য আমি কী দেখি তা দেখার জন্য, প্রথমে আমি মনে করি যে আমার সংস্করণটির সংস্করণে কোনও মেনু বার আইকনের কথা বলা নেই। এটি একটি সেটিং আমি অবশ্যই উপর gleaned হবে না।

যাইহোক, আমি গ্রিলন করেছি, ব্যবহারকারী-সংজ্ঞায়িত কী বাইন্ডিং সেট করার বিকল্প যা ফাংশনের একটি নির্বাচনকে ট্রিগার করে, যার মধ্যে একটি মাইক নীরবতার জন্য একটি টগল হচ্ছে:

Discord Keybindings in macOS

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

আমি বিশ্বাস করি যে এটি ঠিক সেই সমাধান যা আপনি পরে করছেন - একটি হটকি যা আপনার সিস্টেমে বিশ্বব্যাপী আপনার নিঃশব্দে পরিচালনা করে অনৈক্য মাইক্রোফোন।


আপনার উত্তর CJK জন্য আপনাকে ধন্যবাদ। আমি আপনার লেখা স্ক্রিপ্ট সঙ্গে একটি সমস্যা চলমান করছি। যখন এটি নিম্নলিখিত বিভাগে পৌঁছায়: repeat until it exists delay 0.2 end repeat আমি নিজেকে মেনু ক্লিক না হওয়া পর্যন্ত এটি অপেক্ষা। আমি এটা অনুমান করছি কারণ মেনুটি উপস্থিত না হওয়া পর্যন্ত এটি বিদ্যমান নেই। একবার মেনু খুললে স্ক্রিপ্টটি চলবে এবং "নিঃশব্দ" ক্লিক করবে। আপনি কিভাবে এই সমাধানের জন্য কোন পরামর্শ আছে? ধন্যবাদ আবার সম্পাদনা করুন: আমি মন্তব্য উত্তর ফর্ম্যাট উপেক্ষা উপেক্ষা দেখতে। এই বিশৃঙ্খলার জন্য দুঃখিত.
Spaisekraft

আপনি যদি মেনু বার আইকনটি শারীরিকভাবে ক্লিক না করেন তবে মেনুটি বাস্তবায়িত হবে না বলে আপনি কি বলছেন? যদি তাই হয়, এই প্রথম মানে click কমান্ড কোন প্রভাব ছিল। নিম্নলিখিত সমন্বয় আলাদাভাবে চেষ্টা করুন: 1। প্রথম পরিবর্তন click থেকে click it; তারপর 2। পরিবর্তন click it থেকে perform its action "AXPress"; তারপর, একটি নতুন স্ক্রিপ্ট, চেষ্টা করুন tell app "System Events" to click menu bar item 1 of menu bar 2 of process "Discord"। আমার আশা হল যে (1) বা (2) সমস্যা সমাধান করবে, কিন্তু আমার অনুভূতি যে এটি কোনও পরিবর্তন করবে না। (3), আমি আশা করি, মেনু খুলবে (কিন্তু "নীরব" ক্লিক করবেন না)।
CJK

গীত। যারা কেউ পরিবর্তন কাজ প্রস্তাব করা উচিত, এটা বোঝায় সমস্যা সঙ্গে মিথ্যা অনৈক্য অ্যাপ্লিকেশন এবং স্ক্রিপ্ট না। কোথাও উন্নয়নে, তারা মেনু বার আইকনটির অ্যাক্সেসযোগ্যতার বৈশিষ্ট্যগুলি সঠিকভাবে সেট করে নি, যাতে সীমাবদ্ধ মাউস ইভেন্টগুলিকে বাইরের উত্সগুলির থেকে বা সমান্তরাল প্রকৃতির কিছু থেকে অনুমতি দেয়। স্ক্রিপ্ট অন্যান্য অ্যাপ্লিকেশন থেকে অন্যান্য মেনু বার আইকন সঙ্গে প্রত্যাশিত হিসাবে কাজ করে, আমি ভয় করি কোন অবিলম্বে workaround আছে। যাইহোক, আমি আমার উত্তরের একটি সম্পাদনা পোস্ট করেছি যা আপনার দ্বন্দ্বের সম্ভাব্য দ্বিতীয় সমাধান সরবরাহ করে। এটা আপনার জন্য কাজ করে যদি এটা আপনার জন্য কাজ করে যদি আমাকে জানাতে।
CJK

হ্যাঁ স্ক্রিপ্ট অন্যান্য অ্যাপ্লিকেশনের জন্য কাজ করে, তবে অন্য কোন পরিবর্তন ডিকর্ডের জন্য কাজ করবে না। আমি কেবলমাত্র একটি স্ক্রিপ্ট তৈরি করতে শেষ করেছি, যাতে মাইক্রোসফটটি মাইক্রোসফ্ট মাইক্রোসফট মাইক্রোসফট চালু করে এবং তারপর বিটিটি ব্যবহার করে টাচবারে স্ক্রিপ্ট চালায়। আমি যে কেউ এখানে শেষ পর্যন্ত এখানে সম্পন্ন করার চেষ্টা করে আমার মূল পোস্ট যে যোগ করতে হবে। সব সাহায্যের জন্য আপনাকে ধন্যবাদ। আমি আজ applescript সম্পর্কে আরো কিছু জিনিস শিখেছি :)
Spaisekraft

আমি শুধু আপনার মন্তব্য যে আপনি বলেন লক্ষ্য I first note that my version of the application has no such menu bar icon to speak of. It must be a setting I haven't gleaned upon.। আমার উল্লেখ করা উচিত যে আপনি যখন একটি ভয়েস চ্যানেলে থাকবেন তখনই মেনু প্রদর্শিত হবে।
Spaisekraft
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.