Man konnte jetzt natürlich das Skripte in der unixinout.c starten.
So sieht der Originalaufruf für sox aus:
Code:
sprintf(cmdline, "%s -v%f %s %s %s %s%s avg -%c", rec.cmd, (float)rec.volume / 100, rec.in_args, rec.file,
rec.out_args, rec.file, rec.suff, rec.chan);
system(cmdline);
sprintf(cmdline, "rm %s", rec.file);
system(cmdline);
cmdline wird also zum Programmaufruf für REC_COMD (in rec.cmd gespeichert) zusammengesetzt. Das ergibt in etwa:
sox -v1.0 -u -b -r %d -c 2 -t raw aufnahme -c 1 aufnahme.wav 1
Du könntest jetzt als system("/home/max/...") nach der letzten Zeile deine Batch starten. Dann sollte der die Aufnahmen direkt am Ende konvertieren.
Also etwa so:
Code:
sprintf(cmdline, "%s -v%f %s %s %s %s%s avg -%c", rec.cmd, (float)rec.volume / 100, rec.in_args, rec.file,
rec.out_args, rec.file, rec.suff, rec.chan);
system(cmdline);
sprintf(cmdline, "rm %s", rec.file);
system(cmdline);
system("/home/max/...") ;
Natürlich total ungetestet :-)