OSX High Sierra系统R脚本中beepr包无声音输出问题求助
解决OSX High Sierra上R beepr包无提示音的问题
我之前在老版本OSX上也碰到过beepr的类似问题,给你几个实际可行的排查和解决方向:
手动指定音效文件路径测试
beepr默认调用包内自带的音效,但有时候系统对默认路径的识别会出问题。你可以先手动指定音效文件来验证:library(beepr) # 查看beepr自带音效的存储路径 system.file("sounds", package = "beepr") # 手动指定其中一个音效文件播放 beep(system.file("sounds", "ping.wav", package = "beepr"))如果手动指定后能听到声音,说明默认路径识别有问题,后续可以固定调用这个路径,或者把音效文件复制到系统更易识别的目录下。
检查终端的音频权限
High Sierra这类老系统里,终端可能没获得音频播放权限。你可以打开「系统偏好设置」→「安全性与隐私」→「隐私」标签,找到「音频输出」相关选项(不同版本可能命名略有差异),把终端添加到权限列表里,重启终端后再运行脚本试试。更新beepr包与R版本
旧版本的beepr对High Sierra的兼容性可能不足,先试试更新到最新版:install.packages("beepr")同时也检查下你的R版本,如果是比较老旧的版本,建议更新到稳定版,新版本R对OSX的音频支持会更完善。
用系统命令曲线救国
如果上面的方法都没效果,你可以用OSX自带的afplay命令来播放beepr的音效,绕开包的调用问题:# 调用beepr的ping音效 system(paste0("afplay ", system.file("sounds", "ping.wav", package = "beepr")))afplay是系统原生的音频播放工具,几乎不会有权限或兼容性问题,这样就能用上beepr的特色音效了。
内容的提问来源于stack exchange,提问作者SamPassmore
相关产品推荐
相关产品推荐

