iPhone - получить длительность линейного аудиофайла PCM - PullRequest
0 голосов
/ 30 октября 2009

У меня есть линейный файл PCM (.wav) в моем приложении, и я хотел бы получить его продолжительность программно. Я мог найти следующее, используя AudioStreamBasicDescription, но не мог разобрать, как получить продолжительность в секундах.

mFormatID
mSampleRate
mChannelsPerFrame
mBytesPerPacket
mFramesPerPacket
mBytesPerFrame
mBitsPerChannel

Может кто-нибудь сказать мне, как я могу получить продолжительность.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 30 октября 2009

Вы можете создать экземпляр AVAudioPlayer с вашим файлом. AVAudioPlayer имеет свойство длительности.

1 голос
/ 08 декабря 2009

Использование AudioFile лучше всего использовать свойство kAudioFilePropertyEstimatedDuration, однако, если вам нужна математика для PCM: duration = totalNumPackets * ASBD.mFramesPerPacket / ASBD.mSampleRate

...