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.

War es hilfreich?

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
scroll top