iPhone - Obtenir la durée du fichier audio PCM linéaire
-
22-07-2019 - |
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.
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