C 如何确定mpg321已完成播放文件

C 如何确定mpg321已完成播放文件,c,linux,C,Linux,我在远程模式下使用mpg321从C播放音乐: FILE* pipe = popen("mpg321 -R abcd > /dev/null 2>&1", "w"); 然后使用以下命令加载文件: fprintf(pipe, "LOAD test.mp3\n", buf); fflush(pipe); 现在我需要知道mpg321何时播放完该文件。怎么做 谢谢。当您完成对管道的写入后,必须使用pclose关闭它,它将等待子进程终止并返回其退出状态。因此,当您的pclose呼叫

我在远程模式下使用mpg321从C播放音乐:

FILE* pipe = popen("mpg321 -R abcd > /dev/null 2>&1", "w");
然后使用以下命令加载文件:

fprintf(pipe, "LOAD test.mp3\n", buf); 
fflush(pipe);
现在我需要知道mpg321何时播放完该文件。怎么做


谢谢。

当您完成对管道的写入后,必须使用pclose关闭它,它将等待子进程终止并返回其退出状态。因此,当您的pclose呼叫返回时,您知道mpg321已完成运行。

您使用的是哪个版本的mpg321?eof检测仅在0.2.9中可用