كيفية كتم الصوت تلقائيًا عند فصل سماعات الرأس على نظام التشغيل Windows 10

يمكن أن يحتفظ Windows 10 بملفات تعريف صوتية منفصلة لأجهزة الصوت المختلفة. لكل جهاز صوت تقوم بتوصيله ، يمكنك تعيين مستوى صوت مختلف وعندما يتم توصيل الجهاز ، سيتم ضبط مستوى الصوت تلقائيًا. بالطبع ، لا أحد يحتفظ بجهاز صوتي مكتوم الصوت طوال الوقت. سيزيدون مستوى الصوت أو ينقصونه ولكن لا يقوم أحد بكتم صوت أي جهاز صوتي بشكل معتاد.

إذا كنت تستخدم زوجًا من سماعات الرأس مع سطح المكتب لديك ، وغالبًا ما تضطر إلى فصلها ، فيمكنك استخدام نص برمجي صغير من PowerShell يعمل على كتم الصوت تلقائيًا عند فصل سماعات الرأس.

هذا شيء تفعله الهواتف المحمولة ، على سبيل المثال ، عندما تقوم بفصل سماعات الرأس ، تتوقف الموسيقى تلقائيًا. المنطق وراء ذلك هو أنك إما أنهيت الاستماع إلى الموسيقى أو أنك قمت بإزالة سماعات الرأس بطريق الخطأ وتحتاج إلى طريقة سريعة لإيقاف تشغيلها. تمت كتابة السيناريو بشكل أساسي على نفس المبدأ بواسطة  Prateek Singh من GEEKEEFY .

كيفية كتم الصوت تلقائيًا عند فصل سماعات الرأس على نظام التشغيل Windows 10

تلقائيا كتم الصوت

افتح المفكرة والصق ما يلي ؛

[cmdletbinding ()] Param () # إضافة تعريفات للوصول إلى النوع الإضافي لواجهة برمجة التطبيقات الصوتية - TypeDefinition @ 'باستخدام System.Runtime.InteropServices ؛ [Guid ("5CDF2C82-841E-4546-9722-0CF74078229A") ، InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] واجهة IAudioEndpointVolume {// f () ، g () ، ... هي فتحات أسلوب COM غير مستخدمة. حدد هذه الأشياء إذا كنت تهتم بـ () ؛ الباحث ز () ؛ int ح () ؛ int i () ؛ int SetMasterVolumeLevelScalar (عائم fLevel، System.Guid pguidEventContext) ؛ int j () ؛ int GetMasterVolumeLevelScalar (خارج عائم pfLevel) ؛ int ك () ؛ int l () ؛ int م () ؛ int n () ؛ int SetMute ([MarshalAs (UnmanagedType.Bool)] bool bMute، System.Guid pguidEventContext)؛ int GetMute (out bool pbMute) ؛ } [Guid ("D666063F-1587-4E43-81F1-B948E807363F") ، InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] واجهة IMMDevice {int Activate (المرجع System.Guid id ، int clsCtx ، int activationParams ، خارج IAudioEndpointVolume aev) ؛ } [Guid ("A95664D2-9614-4F35-A746-DE8DB63617E6")، InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] واجهة IMMDeviceEnumerator {int f ()؛ // Unused int GetDefaultAudioEndpoint (int dataFlow، int role، out IMMDevice endpoint) ؛ } [ComImport، Guid ("BCDE0395-E52F-467C-8E3D-C4579291692E")] فئة MMDeviceEnumeratorComObject {} فئة عامة Audio {static IAudioEndpointVolume Vol () {var enumerator = new MMDeviceEnumeratorComObject () IMMDevice dev = خالية ؛ Marshal.ThrowExceptionForHR (enumerator.GetDefaultAudioEndpoint (/ * eRender * / 0، / * eMultimedia * / 1، out dev)) ؛ IAudioEndpointVolume epv = خالية ؛ var epvid = typeof (IAudioEndpointVolume) .GUID ؛ Marshal.ThrowExceptionForHR (dev.Activate (المرجع epvid، / * CLSCTX_ALL * / 23، 0، out epv)) ؛ عودة epv ؛ } حجم تعويم ثابت عام {get {float v = -1؛ Marshal.ThrowExceptionForHR (Vol (). GetMasterVolumeLevelScalar (خارج v)) ؛ return v؛} تعيين {Marshal.ThrowExceptionForHR (Vol (). SetMasterVolumeLevelScalar (value، System.Guid.Empty))؛}} bool ثابت عام Mute {get {bool mute؛ Marshal.ThrowExceptionForHR (Vol (). GetMute (out mute)) ؛ عودة البكم } اضبط {Marshal.ThrowExceptionForHR (Vol (). SetMute (value، System.Guid.Empty)) ؛ }}} '@ -Verbose while ($ true) {#Clean جميع الأحداث في الجلسة الحالية منذ أن كانت في حلقة لا نهائية ، لتبدأ بداية جديدة عندما تبدأ الحلقة Get-Event | Remove-Event -ErrorAction SilentlyContinue #Registering the Event and Waiting the event to be Register-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable Event | Out-Null $ EventType = $ Event.sourceargs. جديد | "فرز الكائن TIME_CREATED - تنازلي | `Select-Object EventType -ExpandProperty EventType -First 1 #Conditional logic to handle، when to Mute / unMute الجهاز باستخدام Audio API If ($ EventType -eq 3) {[Audio] :: Mute = $ true Write-Verbose" كتم الصوت [$ ((Get-Date) .tostring ())] "} elseif ($ EventType -eq 2-and [Audio] :: Mute -eq $ true) {[Audio] :: Mute = $ false Write-Verbose" غير مكتوم [$ ((Get-Date) .tostring ())] "}}

احفظه بملحق ملف PS1. تأكد من تحديد "كل الملفات" من القائمة المنسدلة لنوع الملف. امنح الملف اسمًا يخبرك في لمح البصر بما يفعله. احفظه في مكان ما من غير المحتمل أن تحذفه عن طريق الصدفة ولكن أيضًا حيث يمكنك العثور عليه بسهولة إذا احتجت إلى ذلك.

تشغيل البرنامج النصي

لا يمكن لـ PowerShell تشغيل برنامج نصي تلقائيًا. هناك مقياس أمني مدمج يمنعه من القيام بذلك ولكن هناك طريقة للتغلب عليه. لدينا مقال تفصيلي حول كيفية القيام بذلك. اتبع الإرشادات للتشغيل التلقائي لبرنامج PowerShell النصي الذي أنشأته للتو ، واستخدم مهمة مجدولة لبدء البرنامج النصي في كل مرة تقوم فيها بتشغيل جهاز الكمبيوتر الخاص بك.

بدلاً من ذلك ، يمكنك تشغيل البرنامج النصي يدويًا عند تشغيل نظامك. لقد كنت أستخدمه منذ أقل من 30 دقيقة ولا أعرف كيف كنت أعيش بدونه من قبل.

اترك تعليقاً

كيفية تفعيل خاصية التمهيد الآمن في نظام التشغيل ويندوز 10

كيفية تفعيل خاصية التمهيد الآمن في نظام التشغيل ويندوز 10

لتمكين ميزة التمهيد الآمن على نظام التشغيل Windows 10، يجب عليك تشغيل الميزة في إعدادات UEFI، ولكن في BIOS، يجب عليك تحويل MBR إلى GPT، ثم التبديل.

كيفية ترقية نظام التشغيل Windows 10 (BIOS) إلى Windows 11 (UEFI) دون فقدان البيانات

كيفية ترقية نظام التشغيل Windows 10 (BIOS) إلى Windows 11 (UEFI) دون فقدان البيانات

لترقية جهاز كمبيوتر يعمل بنظام التشغيل Windows 10 مع قسم MBR إلى نظام التشغيل Windows 11 GPT، يجب عليك تحويل القسم، والتبديل إلى UEFI، وتمكين TPM والتمهيد الآمن.

أصبح لدى نظام التشغيل Windows 11 أخيرًا بديل مناسب لمدير المهام - تعرف على AppControl

أصبح لدى نظام التشغيل Windows 11 أخيرًا بديل مناسب لمدير المهام - تعرف على AppControl

يُضيف تطبيق AppControl سجل النظام لمدة ثلاثة أيام، وتتبع عمليات تشغيل التطبيقات، والتنبيهات إلى نظام التشغيل Windows 11. هل هو أفضل من مدير المهام؟ إليكم التحليل الكامل.

كيفية تعطيل وضع الذكاء الاصطناعي في شريط العناوين وعلامة التبويب الجديدة في متصفح كروم

كيفية تعطيل وضع الذكاء الاصطناعي في شريط العناوين وعلامة التبويب الجديدة في متصفح كروم

لتعطيل وضع الذكاء الاصطناعي في شريط عناوين Chrome وصفحة علامة التبويب الجديدة، عليك تعطيل أربعة إعدادات رئيسية من صفحة Flags، إليك الطريقة.

قم بتنزيل خلفية مايكروسوفت سيرفس لاب توب 7 بمناسبة الذكرى الخمسين لنظام التشغيل ويندوز 11

قم بتنزيل خلفية مايكروسوفت سيرفس لاب توب 7 بمناسبة الذكرى الخمسين لنظام التشغيل ويندوز 11

قم بتنزيل خلفية مايكروسوفت بمناسبة الذكرى الخمسين لجهاز Surface Laptop 7 والتي تتميز بأيقونات Windows 11 Bloom بألوان داكنة وذهبية.

كيفية تثبيت RustDesk للتحكم عن بعد في نظام التشغيل Windows 11

كيفية تثبيت RustDesk للتحكم عن بعد في نظام التشغيل Windows 11

قم بتثبيت وتكوين RustDesk على نظام التشغيل Windows 11 للوصول إلى سطح المكتب عن بعد بشكل خاص، باستخدام الخوادم العامة أو قم بإعداد خادمك الخاص للاتصالات الآمنة.

هل يجب عليّ تثبيت ويندوز 11 24H2 على جهاز الكمبيوتر الخاص بي؟ لا، وإليك السبب.

هل يجب عليّ تثبيت ويندوز 11 24H2 على جهاز الكمبيوتر الخاص بي؟ لا، وإليك السبب.

لا، لا ينبغي عليك تثبيت Windows 11 24H2 لأنه في الأيام الأولى قد تحدث مشاكل؛ كما أن جميع الميزات غير متوفرة بعد.

تم إصدار النسخة النهائية من نظام التشغيل Windows 11 25H2 (الإصدار 26200.5074) كمعاينة.

تم إصدار النسخة النهائية من نظام التشغيل Windows 11 25H2 (الإصدار 26200.5074) كمعاينة.

الإصدار 26200.5074 لنظام التشغيل Windows 11 25H2 متوفر في قناة المعاينة قبل الإصدار الرسمي، وسيتم إصدار ملف ISO الرسمي قريبًا.

كيفية تعيين عنوان IP ثابت على نظام التشغيل ويندوز 10

كيفية تعيين عنوان IP ثابت على نظام التشغيل ويندوز 10

يمكنك تعيين عنوان IP ثابت على نظام التشغيل Windows 10 باستخدام موجه الأوامر، أو PowerShell، أو لوحة التحكم، أو حتى تطبيق الإعدادات. إليك الطريقة.

كيفية إلغاء تثبيت WSL على نظام التشغيل Windows 11

كيفية إلغاء تثبيت WSL على نظام التشغيل Windows 11

لإلغاء تثبيت WSL على نظام التشغيل Windows 11، قم بإزالة توزيعات النظام، ثم قم بإلغاء تثبيت تحديث النواة ومكونات واجهة المستخدم الرسومية، ثم قم بتعطيل منصة WSL. إليك الطريقة.