Friday, November 16, 2018

#1 2018-04-22 07:19:31 pm

dlaurentny
Member
Registered: 2014-07-12
Posts: 26

Disable Microphone / Control Sound Input Levels

Discovered Apple and Tim Cook are Lying to us... As per usual... The Micro phone, although it may say it's set to 0 via Sound/Input is actually set to 50% EVERYTIME you reboot your computer - Presumably for 3rd parties to SPY on you while you think the Mic is off.

Heres a scrip to run to set input values to 0 after every reboot.  They hide the input via "Dictation" and Siri.

My personal setup uses multiple Displays each with it's own Mic Input - you may need modify the script for your personal use.

Applescript:



tell application "System Preferences"
   activate
   
   set current pane to pane "com.apple.preference.keyboard"
   reveal anchor "Dictation" of pane id "com.apple.preference.Keyboard"
   
   ## Delay required for GUI to load other wise Index Error
   delay 0.8
   
   set current pane to pane "com.apple.preference.sound"
   reveal anchor "input" of pane id "com.apple.preference.sound"
   
   ##set current pane to pane "com.apple.preference.sound"
   ##reveal anchor "input" of pane id "com.apple.preference.sound
   
   ## Delay required for GUI to load other wise Index Error
   delay 0.8
   
   tell application "
System Events" to tell process "System Preferences"
       ##tell tab group 1 of window "
Sound" to click radio button "Input"
       ## Internal Input
       tell table 1 of scroll area 1 of tab group 1 of window "
Sound"
           select (row 1 where value of text field 1 is "
Internal Microphone")
           ##select (row 1 where value of text field 1 is "
Display Audio")
       end tell
       
       tell tab group 1 of window "
Sound"
           ##click radio button "
Input"
           set value of slider 1 of group 2 to 0.5
           delay 0.1
           set value of slider 1 of group 2 to 0
       end tell
       
       ## USB INPUT - Thunderbolt Display
       tell table 1 of scroll area 1 of tab group 1 of window "
Sound"
           ##select (row 1 where value of text field 1 is "
Internal microphone")
           select (row 1 where value of text field 1 is "
Display Audio")
       end tell
       
       tell tab group 1 of window "
Sound"
           ##click radio button "
Input"
           set value of slider 1 of group 2 to 0.5
           delay 0.1
           set value of slider 1 of group 2 to 0
       end tell
       
   end tell
   
end tell






Model: iMac Pro 2017
Browser: Safari 604.4.7
Operating System: Mac OS X (10.12.5)

Offline

 

#2 2018-04-23 01:58:34 am

Nigel Garvey
Moderator
From:: Warwickshire, England
Registered: 2002-11-20
Posts: 4720

Re: Disable Microphone / Control Sound Input Levels

dlaurentny wrote:

My personal setup uses multiple Displays each with it's own Mic Input - you may need modify the script for your personal use.


Where there's only one input source, this is simpler:

Applescript:


set volume input volume 0

I don't know if or how it affects multiple inputs.

I use the following script, saved as an application, as a Login Item on my computers (the 'set volume' values depending on the machine):

Applescript:

on main()
   -- Launch System Events and set it never to quit.
   using terms from application "System Events"
       tell application ((path to "csrv" as text) & "System Events.app")
           launch
           set quit delay to 0
       end tell
   end using terms from
   
   -- Set preferred sound volume.
   set volume output volume 35 input volume 50 alert volume 100 without output muted
   
   -- Make sure the User Library folder's not hidden.
   do shell script ("chflags nohidden " & quoted form of POSIX path of (path to library folder from user domain))
end main

main()


NG

Offline

 

#3 2018-04-28 09:09:58 pm

dlaurentny
Member
Registered: 2014-07-12
Posts: 26

Re: Disable Microphone / Control Sound Input Levels

Thanks Nigel - Agree, with only 1 input your solution is more simple.

Question - I've tried to export my solution as an application and run into "Access Errors" where High Seirra refuses access to the sound levels from the app with out me having to manually override with an Admin approval.

If you are logging in as a user, NOT ADMIN - are you able to get the app to work on start up?  Am I missing a step?



I've cleaned up the script a bit, there are a few seemingly unrelated "clicks" - but have found those steps are required in order to access the REAL mic input level and not just the "fake" one Apple wants you to believe...


Applescript:


tell application "System Preferences"
   activate
   
   set current pane to pane "com.apple.preference.keyboard"
   reveal anchor "Dictation" of pane id "com.apple.preference.Keyboard"
   
   delay 0.8 ## Delay required for GUI to load other wise Index Error
   
   set current pane to pane "com.apple.preference.sound"
   reveal anchor "Output" of pane id "com.apple.preference.sound"
   
   delay 0.8 ## Delay required for GUI to load other wise Index Error
   
   tell application "System Events" to tell process "System Preferences"
       tell tab group 1 of window "Sound" to click radio button "Input"
       set focus to tab group 1 of window "Sound"
       
       ## Internal Input
       tell table 1 of scroll area 1 of tab group 1 of window "Sound"
           select (row 1 where value of text field 1 is "Internal Microphone")
       end tell
       
       tell tab group 1 of window "Sound"
           set value of slider 1 of group 2 to 0.5
           delay 0.1
           set value of slider 1 of group 2 to 0
       end tell
       
       ## USB INPUT - Thunderbolt Display
       tell table 1 of scroll area 1 of tab group 1 of window "Sound"
           select (row 1 where value of text field 1 is "Display Audio")
       end tell
       
       tell tab group 1 of window "Sound"
           set value of slider 1 of group 2 to 0.5
           delay 0.1
           set value of slider 1 of group 2 to 0
       end tell
   end tell
   ##quit
end tell



Offline

 

Board footer

Powered by FluxBB

RSS (new topics) RSS (active topics)