使用audioqueue流式传输音频。如何在播放结束前获取音频文件的长度?

时间:2009-08-24 21:43:22

标签: iphone streaming audioqueueservices

已经完成了播放器的实施。我想实现进度条。但我想知道,因为我们正在播放音乐,这是否可行。除非事先提供歌曲的长度。

拜托,我需要你的建议。

2 个答案:

答案 0 :(得分:3)

除非事先给出音频文件的大小(或时间长度),否则你无法设置进度条的范围(你没有最大值)。

答案 1 :(得分:1)

实际上,我找到了一种方法,我成功了。您计算歌曲每个数据包的帧数,以及平均数据包的大小(以字节为单位)。使用NSHTTPConnection获取文件大小并使用此公式:

totalFrames =(fileSize * framesPerPacket /平均数据包大小)

当你有总帧数时,只需将其除以比特率,然后你自己 总时间!!