发布
社区首页 >问答首页 >使用Core Audio找出流的估计持续时间

使用Core Audio找出流的估计持续时间
EN

Stack Overflow用户
提问于 2010-03-26 01:22:51
回答 1查看 651关注 0票数 0

我使用自定义馈送代码在网络上流式传输一个MP3,而不是使用AudioFileStreamOpen等API的AVAudioPlayer (它只适用于URL)。

有没有办法估计一下这条流的长度?我知道我可以使用以下命令获得一个'elapsed‘属性:

代码语言:javascript
代码运行次数:0
复制
if(AudioQueueGetCurrentTime(queue.audioQueue, NULL, &t, &b) < 0)
        return 0;

    return t.mSampleTime / dataFormat.mSampleRate;

但是创建进度条的总持续时间呢?这有可能吗?

附注:澄清-我确实知道MP3文件的实际大小,不知道它是否可以使用…我甚至会满足于只给我一个进度条的解决方案,而不是实际的播放时间/持续时间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-26 14:31:40

如果您知道MP3文件的总大小,则可以计算每秒的位数,从而计算流的持续时间。如果是VBR,你可能需要平均几个MPEG帧。对于CBR,您可以简单地使用一个包的码率。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2517860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档