Xcode C命令行程序调用system("afplay music.wav")无法播放音频如何解决
C语言Mac调用afplay播放音频失败修复方案
- 补充必要头文件、修正main函数规范
system()函数定义在stdlib.h头文件中,未引入该头文件会导致函数调用行为异常;同时C语言标准规定main函数返回值应为int类型,你当前的写法不符合规范,可能触发未知运行错误。 - 先校验音频文件本身可正常播放
打开终端进入main.c所在的同级目录,直接执行命令afplay IntroSpeechByGuide.wav,确认音频无损坏、文件名拼写正确(Mac系统文件名区分大小写,注意大小写完全匹配)。 - 避免运行时工作目录不匹配问题
若直接执行afplay命令可正常播放,说明路径匹配没问题;如果还是不行,可以直接在代码中写死音频的绝对路径测试,例如:system("afplay /Users/你的用户名/项目文件夹/IntroSpeechByGuide.wav"),完全规避路径查找错误。
修复后可正常运行的代码示例
#include <stdlib.h> int main() { system("afplay IntroSpeechByGuide.wav"); return 0; }
- 编译运行步骤:
- 终端进入main.c所在目录,执行
gcc main.c -o playaudio完成编译 - 同一终端路径下执行
./playaudio即可触发音频播放
内容的提问来源于stack exchange,提问作者DaVinziBoi
相关产品推荐
相关产品推荐

