iPhone - Dauer der linearen PCM-Audiodatei erhalten
-
22-07-2019 - |
Frage
Ich habe eine lineare PCM-Datei (.wav) in meiner app, und ich möchte es programmatisch Dauer erhalten. Ich konnte die folgende Verwendung AudioStreamBasicDescription finden, aber kann nicht erkennen, wie die Dauer in Sekunden zu erhalten.
mFormatID
mSampleRate
mChannelsPerFrame
mBytesPerPacket
mFramesPerPacket
mBytesPerFrame
mBitsPerChannel
Kann mir bitte jemand sagen, wie ich die Dauer erhalten.
Danke.
Lösung
Sie können eine AVAudioPlayer Instanz mit Dateien erstellen. AVAudioPlayer hat Dauer Eigenschaft.
Andere Tipps
Mit Audiofile kAudioFilePropertyEstimatedDuration Eigenschaft ist am besten, aber wenn Sie die Mathematik für PCM wollen: Dauer = totalNumPackets * ASBD.mFramesPerPacket / ASBD.mSampleRate
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow