And*_*ang 1 applescript voice text-to-speech
Tell application "System Preferences"
set "default voice" to "Agnes"
end tell
Run Code Online (Sandbox Code Playgroud)
结果是:
无法将"默认语音"设置为"anna".不允许访问.
您的方法有两个问题:
System Preferences应用程序的字典不包含default voice用于更改TTS(文本到语音)默认语音的元素或任何其他元素(从OS X 10.11开始); 实际上,似乎Apple没有提供改变默认语音的程序化方式(甚至不通过它的NSSpeechSynthesizerCocoa类).default voice,您尝试将值分配给字符串文字,这将始终失败.注意:此答案的早期版本指向voice在Dropbox位置命名的Bash脚本; 此脚本已重命名为voices,修改了其语法,现在已正确发布为开源项目 - 请参阅下文.
不幸的是,从OSX 10.11(El Capitan)开始,没有记录的编程方式来更改默认语音.
它可以完成,但这样做需要在未记录的系统内部,因此不能保证未来的兼容性.
voices 是我写的一个CLI就是这样 - 经过验证可以在OSX 10.11上运行到OSX 10.8.
然后,您可以从AppleScript执行以下操作:
do shell script "/path/to/voices -d {voiceName}"
Run Code Online (Sandbox Code Playgroud)
举例来说,如果你把voices在/usr/local/bin和想要切换到Agnes作为默认的声音,使用:
do shell script "/usr/local/bin/voices -d Agnes"
Run Code Online (Sandbox Code Playgroud)
如果你碰巧已经安装了Node.js的,你可以安装voices到/usr/local/bin与
npm install voices -g
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3089 次 |
| 最近记录: |