有没有办法在popen()
不丢失 Wait() 的情况下抑制输出。
测试1:
FILE * stream = NULL;
char buffer [120];
stream = popen ("ffmpeg -y -i test.amr -ar 16000 test.wav -v quiet", "r");
while (fgets (buffer, sizeof(buffer), stream))
{
}
pclose (stream);
测试 2:
FILE * stream = NULL;
char buffer [120];
stream = popen ("ffmpeg -y -i test.amr -ar 16000 test.wav -v quiet &> /dev/null", "r");
while (fgets (buffer, sizeof(buffer), stream))
{
}
pclose (stream);
测试 2的问题在于pclose()
没有等待管道完成处理。我不想每次我必须做一个管道时都有一堆 FFMPEG 输出。