RoundOutTooSoon
RoundOutTooSoon

Reputation: 9891

How to get the uncompressed file size of an MP3 file using CoreAudio API

Using CoreAudio, I am able to get the sampleRate (frames per second) and the file size, but in order to get the "total" time of the song, I need to know the Real file size of that compressed mp3.

        AudioStreamBasicDescription asbd;
        UInt32 asbdSize = sizeof(asbd);

        // get the stream format.
        err = AudioFileStreamGetProperty(inAudioFileStream, kAudioFileStreamProperty_DataFormat, &asbdSize, &asbd);
        if (err)
        {
            [self failWithErrorCode:AS_FILE_STREAM_GET_PROPERTY_FAILED];
            return;
        }

        sampleRate = asbd.mSampleRate;

Is there any way I can know the real size of the song using Objective-C?

Thanks in advance.

Upvotes: 0

Views: 734

Answers (1)

pgb
pgb

Reputation: 25011

See the answer to this question

There's a property you can ask in AudioFileGetProperty called kAudioFilePropertyEstimatedDuration that should do the trick.

Upvotes: 1

Related Questions