Pregunta

Tengo un archivo PCM lineal (.wav) en mi aplicación y me gustaría obtener su duración mediante programación. Pude encontrar lo siguiente usando AudioStreamBasicDescription pero no pude entender cómo obtener la duración en segundos.

mFormatID
mSampleRate
mChannelsPerFrame
mBytesPerPacket
mFramesPerPacket
mBytesPerFrame
mBitsPerChannel

¿Puede alguien decirme cómo puedo obtener la duración?

Gracias.

¿Fue útil?

Solución

Puede crear una instancia de AVAudioPlayer con su archivo. AVAudioPlayer tiene propiedad de duración.

Otros consejos

Usar la propiedad AudioFile kAudioFilePropertyEstimatedDuration es mejor, sin embargo, si desea las matemáticas para PCM: duración = totalNumPackets * ASBD.mFramesPerPacket / ASBD.mSampleRate

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top