int AFdReadData(AFILE *AFp, long int offs, double Dbuff[], int Nreq)
Read data from an audio file (return double values)
This routine returns a specified number of samples at a given sample offset in an audio file. The data in the file is converted to double format on output. The sample data in the file is considered to be preceded and followed by zero-valued samples. Thus if the sample offset is negative or points to beyond the number of samples in the file, the appropriate number of zero-valued samples is returned. The file must have been opened using routine AFopnRead.
The following program fragment illustrates the use of this routine to read overlapping blocks of data. For the simpler case of sequential access to the data without overlap, the variable Lmem should be set to zero.
double Dbuff[320]; ... AFp = AFopnRead(...); ... Lmem = 80; Lblock = 320; Nadv = Lblock - Lmem; offs = -Lmem; while (1) { Nout = AFdReadData(AFp, offs, Dbuff, Lblock); offs = offs + Nadv; if (Nout <= 0) break; ... }
On encountering an error, the default behaviour is to print an error message and halt execution.
P. Kabal / Revision 1.15 2020-11-26