iPhone — получить продолжительность аудиофайла линейного PCM
-
22-07-2019 - |
Вопрос
В моем приложении есть линейный файл PCM (.wav), и я хотел бы получить его продолжительность программно.Я смог найти следующее, используя AudioStreamBasicDescription, но не смог понять, как получить продолжительность в секундах.
mFormatID
mSampleRate
mChannelsPerFrame
mBytesPerPacket
mFramesPerPacket
mBytesPerFrame
mBitsPerChannel
Может кто-нибудь, пожалуйста, скажите мне, как я могу получить продолжительность.
Спасибо.
Решение
Вы можете создать экземпляр AVAudioPlayer с вашим файлом.AVAudioPlayer имеет свойство продолжительности.
Другие советы
Лучше всего использовать свойство AudioFile kAudioFilePropertyEstimatedDuration, однако, если вам нужны математические вычисления для PCM:продолжительность = totalNumPackets * ASBD.mFramesPerPacket / ASBD.mSampleRate
Не связан с StackOverflow