iPhone - 获取线性PCM音频文件的持续时间

时间:2009-10-30 12:22:13

标签: iphone core-audio

我的应用程序中有一个线性PCM文件(.wav),我希望以编程方式获取它的持续时间。我可以使用AudioStreamBasicDescription找到以下内容,但无法知道如何以秒为单位获取持续时间。

mFormatID
mSampleRate
mChannelsPerFrame
mBytesPerPacket
mFramesPerPacket
mBytesPerFrame
mBitsPerChannel

有人可以告诉我如何获得持续时间。

感谢。

2 个答案:

答案 0 :(得分:2)

您可以使用您的文件创建AVAudioPlayer实例。 AVAudioPlayer有持续时间属性。

答案 1 :(得分:1)

使用AudioFile kAudioFilePropertyEstimatedDuration属性是最好的,但是如果你想要PCM的数学:duration = totalNumPackets * ASBD.mFramesPerPacket / ASBD.mSampleRate