Question

J'ai un fichier PCM linéaire (.wav) dans mon application et j'aimerais connaître sa durée par programmation. Je pouvais trouver ce qui suit à l’aide de AudioStreamBasicDescription mais je n’ai pas réussi à comprendre comment obtenir la durée en secondes.

mFormatID
mSampleRate
mChannelsPerFrame
mBytesPerPacket
mFramesPerPacket
mBytesPerFrame
mBitsPerChannel

Quelqu'un peut-il me dire s'il vous plaît comment je peux obtenir la durée.

Merci.

Était-ce utile?

La solution

Vous pouvez créer une instance de AVAudioPlayer avec votre fichier. AVAudioPlayer a une propriété de durée.

Autres conseils

Il est préférable d'utiliser la propriété kAudioFilePropertyEstimatedDuration de AudioFile. Toutefois, si vous souhaitez connaître le calcul pour PCM: duration = totalNumPackets * ASBD.mFramesPerPacket / ASBD.mSampleRate

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top