【问题标题】:Mac OS Mojave microphone permission for Visual Studio CodeVisual Studio Code 的 Mac OS Mojave 麦克风权限
【发布时间】:2020-04-17 17:38:10
【问题描述】:

我正在尝试使用 PyAudio 录制音频,但是在 VSCode 中工作时不会生成麦克风权限请求。

我已经完成了 NVRAM 重置,它允许我通过终端运行脚本(在它生成权限请求之后)。

在隐私设置中,唯一可用的应用是 Chrome 和终端,因此无法在此处授予 VSCode 权限。

有没有办法强制请求 VSCode 的权限?或者以其他方式编辑麦克风权限?

【问题讨论】:

    标签: python macos visual-studio visual-studio-code


    【解决方案1】:

    VScode 可能有一个错误,它似乎没有在需要时请求权限。尝试使用 xlwings(操作系统是 Catalina)创建 Excel 电子表格时,我遇到了类似的问题。我发现一个相关的github ticket #95062 说 VScode 不要求访问媒体设备的权限。

    我可以通过从终端 sudo /Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron 启动具有管理员权限的 VScode 来绕过请求权限的需要。我还可以从具有正常权限的终端运行我的 xlwings 代码,因为终端在预期时请求了所需的权限。 PyCharm 在用于运行相同的 xlwings 代码时也会请求权限,这更加坚定了我的信念,即这是 VSCode 中的权限请求错误。

    【讨论】:

      【解决方案2】:

      以上完全正确的答案。主要问题是可视代码中引用的 Python 是通过可视代码进行管道传输的。因此,由于主应用程序没有正确的麦克风权限,python 也不会拥有它。 (看看 Unix 中的权限遗产)。所以一个好的解决方案是:

      1. Start the script over the Terminal python ./script.py 
      (The microphone will ask the permission)
      2. Close visual code
      3. Open a terminal
      4. put: sudo /Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron
      5. Should work!
      

      干杯

      p.s:如果我找到直接修复的方法,我会告诉你的!

      【讨论】:

      • 对我不起作用!麦克风是从 macOS 终端访问的,而不是在 vscode 的
      • 在这种情况下,您必须将终端添加到麦克风权限。你还有问题吗?
      【解决方案3】:

      实际上,在我将终端添加到来自 macOS 隐私设置的麦克风访问列表后,VS Code 工作正常。 VS Code 对安全设置很有好处~ 提示我不要打开它用户 'root' 帐户。

      【讨论】:

      • 如何将终端添加到麦克风访问列表中?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-29
      • 2019-11-04
      • 2021-12-04
      • 2021-01-26
      • 1970-01-01
      • 2022-12-04
      相关资源
      最近更新 更多