Russell O'Connor wrote:
Specifically, if I get my application to read ID3 tags, will I be able to find out the decoded length of an audio file without going through and counting all the frames?
Unless I am incorrect, this is *not* the case. id3 tags don't contain this information as far as I know.
The way mpg321 calculates size is:
if (is_constant_bit_rate(file)) do_straight_multiplication(); else if (has_xing(file)) read_xing(); else count_all_frames();
The specifics are of course available in mpg321's source code; either in mad.c or mpg321.c iirc. Unfortunately my development machine is out of commission so I can't give you more detail than that, but you can browse CVS from http://sf.net/projects/mpg321.
HTH, Joe