【问题标题】:How to get the uncompressed file size of an MP3 file using CoreAudio API如何使用 CoreAudio API 获取 MP3 文件的未压缩文件大小
【发布时间】:2009-08-25 22:57:51
【问题描述】:

使用 CoreAudio,我可以获得 sampleRate(每秒帧数)和文件大小,但为了获得歌曲的“总”时间,我需要知道压缩 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;

有什么方法可以让我使用 Objective-C 知道歌曲的实际大小?

提前致谢。

【问题讨论】:

    标签: iphone streaming mp3 core-audio


    【解决方案1】:

    查看this question的答案

    您可以在 AudioFileGetProperty 中询问名为 kAudioFilePropertyEstimatedDuration 的属性,它应该可以解决问题。

    【讨论】:

    • 嗨 pgb,我在你链接到的另一篇帖子上查看了你的答案,但我总是让 outDataSize 每次都为 0。你能帮我解决这个问题吗?谢谢
    猜你喜欢
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 2019-06-17
    • 2013-10-28
    • 1970-01-01
    相关资源
    最近更新 更多