كيفية كتم الصوت تلقائيًا عند فصل سماعات الرأس على نظام التشغيل 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 دقيقة ولا أعرف كيف كنت أعيش بدونه من قبل.

اترك تعليقاً

خمس طرق لتنزيل ويندوز 11 (2026)

خمس طرق لتنزيل ويندوز 11 (2026)

لتنزيل نظام التشغيل Windows 11 في عام 2026، يمكنك استخدام مساعد التثبيت، وأداة إنشاء الوسائط، وRufus، وUUP Dump، والتنزيل المباشر لملف ISO.

كيفية تعطيل ميزة موصى به واستعادة ميزة الوصول السريع في مستكشف الملفات لنظام التشغيل Windows 11

كيفية تعطيل ميزة موصى به واستعادة ميزة الوصول السريع في مستكشف الملفات لنظام التشغيل Windows 11

لتعطيل قسم "الموصى به" واستعادة الوصول السريع في مستكشف الملفات، قم بإيقاف تشغيل هذه الإعدادات في خيارات المجلد.

الإصدار 26220.6982 (KB5067109) لنظام التشغيل Windows 11 25H2 يقدم ميزة النسخ والبحث الجديدة والمزيد (للمطورين)

الإصدار 26220.6982 (KB5067109) لنظام التشغيل Windows 11 25H2 يقدم ميزة النسخ والبحث الجديدة والمزيد (للمطورين)

يضيف التحديث KB5067109 (الإصدارات 26220.6982 و26120.6982) لنظام التشغيل Windows 11 25H2 و24H2 ميزة النسخ والبحث الجديدة، وتشخيص الذاكرة الاستباقي، والإصلاحات.

كيفية تفعيل نظام التشغيل ويندوز 11 (ثلاث طرق)

كيفية تفعيل نظام التشغيل ويندوز 11 (ثلاث طرق)

لتفعيل نظام التشغيل Windows 11، افتح الإعدادات > النظام > التنشيط، ثم انقر فوق تغيير وأدخل مفتاح المنتج. إذا تم تغيير مكونات الجهاز، فانقر فوق استكشاف الأخطاء وإصلاحها.

كيفية تغيير حجم القسم في نظام التشغيل ويندوز 11

كيفية تغيير حجم القسم في نظام التشغيل ويندوز 11

لتغيير حجم القسم في نظام التشغيل Windows 11، افتح الإعدادات > النظام > التخزين > الأقراص ووحدات التخزين، وحدد القسم، وقم بتغيير الحجم.

قم بترقية الإصدار 22H2 (أو 21H2) إلى Windows 11 23H2، مع تخطي الإصدار 24H2

قم بترقية الإصدار 22H2 (أو 21H2) إلى Windows 11 23H2، مع تخطي الإصدار 24H2

لا يزال بإمكانك الترقية إلى Windows 11 23H2 من 22H2 أو 21H2 مع منع تثبيت الإصدار 24H2 باستخدام ملف ISO مخصص وسجل مخصص.

الإصدار 26200.5622 (KB5058512) لنظام التشغيل Windows 11 يضيف ميزة استرداد جديدة في قناة المطورين

الإصدار 26200.5622 (KB5058512) لنظام التشغيل Windows 11 يضيف ميزة استرداد جديدة في قناة المطورين

الإصدار 26200.5622 (KB5058512) لنظام التشغيل Windows 11 يجلب Draft مع Copilot في Word إلى Click to Do، و Quick Machine Recovery، ونقل الملفات إلى جهاز كمبيوتر جديد.

الإصدار 26120.4230 (KB5058506) لنظام التشغيل Windows 11 يتضمن ميزات جديدة وإصلاحات في قناة الإصدار التجريبي

الإصدار 26120.4230 (KB5058506) لنظام التشغيل Windows 11 يتضمن ميزات جديدة وإصلاحات في قناة الإصدار التجريبي

الإصدار 26120.4230 (KB5058506) لنظام التشغيل Windows 11 يصل إلى قناة الإصدار التجريبي مع إعدادات استرداد جديدة، وشريط جانبي لقائمة ابدأ، وتغييرات في الإعدادات.

حصل نظام التشغيل Windows 10 على التحديث KB4577586 لإزالة برنامج Adobe Flash Player

حصل نظام التشغيل Windows 10 على التحديث KB4577586 لإزالة برنامج Adobe Flash Player

يتوفر الآن تحديث KB4577586 لإزالة برنامج Adobe Flash Player نهائيًا من نظام التشغيل Windows 10 والإصدارات الأقدم. إليك كيفية تثبيته.

كيفية تشغيل التطبيقات وترتيبها تلقائيًا باستخدام PowerToys على نظام التشغيل Windows

كيفية تشغيل التطبيقات وترتيبها تلقائيًا باستخدام PowerToys على نظام التشغيل Windows

لبدء وترتيب مجموعة من التطبيقات تلقائيًا على نظام التشغيل Windows 11 (أو 10)، افتح PowerToys > مساحات العمل، وقم بإنشاء مساحة العمل.