我需要使用aplay
播放wave文件。但是,我的wave文件的长度只有几秒钟。因此,我计划将它们循环播放一段时间。 aplay
似乎没有循环选项。在我的C文件中,使用popen()
创建一个子进程。回放工作正常。但是困难在于我无法监视wave文件播放的完成时间,因此我可以重新开始。
popen("aplay WaveFile","r");
我怎么知道该命令何时完成播放?
谢谢!
答案 0 :(得分:2)
在popen
联机帮助页中:
pclose()
函数等待关联的进程终止,并返回wait4(2)
返回的命令的退出状态。
如果您不想在pclose
上被阻塞,可以在popen
返回的管道上尝试non-blocking reads,直到得到EOF,这意味着过程已终止。
答案 1 :(得分:0)