如何使用AppleScript获取已安装声音的列表?我看到前一段时间被用于:“告诉应用程序声音”或看到目录“/ System/Library/Speech/Voices /”中的文件,但似乎这些方法不再工作。如何使用AppleScript获取已安装声音的列表?
1
A
回答
5
您可以使用shell脚本say和-v选项来获取列表。
do shell script "say -v?"
-v语音,--voice =语音 指定要使用的声音。默认值是在 系统偏好设置中选择的语音。要获取安装在 系统中的声音列表,请指定'?'作为语音的名字。
在我的系统会得到一个长长的清单,如:
Deranged en_US # I need to go on a really long vacation.
Fred en_US # I sure like being inside this fancy computer
Good News en_US # Congratulations you just won the sweepstakes and you don't have to pay income tax again.
Hysterical en_US # Please stop tickling me!
Jorge es_ES # Hola, me llamo Jorge y soy una voz española.
要拉刚的名字,我将使用名称后的空格作为分隔符分割的名称和垃圾
set the_name to do shell script "say -v? | awk -F\"\\ \\ \" '{print $1}'"
所以我在这里把say命令的结果传给awk。
-F fs选项 将输入字段分隔符定义为正则表达式fs。 所以这就是我使用空格来区分垃圾名称的地方。
我只需要给出双重空间而不是名称和垃圾之间的空间总量。我也必须避开每个反斜杠的空格。
而且,因为我们在Applescript中,所以我们需要实际上逃脱逃生,将它们传递给shell。当然也可以省掉额外的引号。
\"\\ \\ \"
awk的{打印$ 1}将在现场1($ 1)
这给了我打印出所有的字段:
Deranged
Fred
Good News
Hysterical
Jorge
相关问题
- 1. 使用AppleScript获取已安装的Safari版本或目标C
- 2. 如何在c#visual studio 2010中使用已安装的声音
- 3. 如何获取Android中已安装应用程序的列表?
- 4. 如何获取闹钟声音列表
- 5. 如何获取Android Studio中已安装/未安装的依赖项的列表
- 6. 如何获取已安装打印机的列表?
- 7. 如何获取已安装的显示语言列表?
- 8. 如何获取已安装的窗口小部件列表?
- 9. 如何获取所有已安装字体的列表?
- 10. 如何获取已安装软件产品的列表?
- 11. 如何获取在Android中使用gps的已安装应用程序列表?
- 12. 如何在Windows中使用Ruby获取已安装应用程序的列表?
- 13. 如何使用非托管C++获取Windows上已安装字体的列表?
- 14. 如何使用SQL查询获取已安装的Windows服务列表
- 15. 获取已安装的Windows应用商店应用列表
- 16. 获取已安装的Android应用程序的列表
- 17. 获取已安装的Windows应用程序的列表
- 18. 如何获取iOS中可用系统声音的列表?
- 19. 获取已安装应用程序的列表android
- 20. 获取可以启动的已安装应用程序列表
- 21. 如何获取chromebook上已安装的android应用程序包列表?
- 22. 如何在列表中获取已安装的应用程序名称
- 23. 获取已安装应用程序列表Windows Mobile(C#托管)
- 24. 完成安装的声音
- 25. 获取已安装的配置文件的列表
- 26. Java - 如何获得已安装的RPM软件包列表
- 27. 在installshield中获取已安装的Visual Studio版本列表2015
- 28. 获取CRM插件(已安装)的过滤属性列表
- 29. 获取远程计算机上已安装程序的列表
- 30. 获取计算机上已安装浏览器的列表