Pergunta

Eu tenho um arquivo PCM linear (.wav) em meu aplicativo e gostaria de obtê-lo de duração programaticamente. Eu poderia encontrar o seguinte usando AudioStreamBasicDescription mas não conseguia descobrir como obter a duração em segundos.

mFormatID
mSampleRate
mChannelsPerFrame
mBytesPerPacket
mFramesPerPacket
mBytesPerFrame
mBitsPerChannel

Alguém por favor pode me dizer como posso obter a duração.

Graças.

Foi útil?

Solução

Você pode criar uma instância AVAudioPlayer com o seu arquivo. AVAudioPlayer tem a propriedade de duração.

Outras dicas

Usando AudioFile kAudioFilePropertyEstimatedDuration propriedade é melhor, no entanto, se você quiser a matemática para PCM: duração = totalNumPackets * ASBD.mFramesPerPacket / ASBD.mSampleRate

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top