我的应用程序中有一个线性PCM文件(.wav),我希望以编程方式获取它的持续时间。我可以使用AudioStreamBasicDescription找到以下内容,但无法知道如何以秒为单位获取持续时间。
mFormatID
mSampleRate
mChannelsPerFrame
mBytesPerPacket
mFramesPerPacket
mBytesPerFrame
mBitsPerChannel
有人可以告诉我如何获得持续时间。
感谢。
答案 0 :(得分:2)
您可以使用您的文件创建AVAudioPlayer实例。 AVAudioPlayer有持续时间属性。
答案 1 :(得分:1)
使用AudioFile kAudioFilePropertyEstimatedDuration属性是最好的,但是如果你想要PCM的数学:duration = totalNumPackets * ASBD.mFramesPerPacket / ASBD.mSampleRate