Domanda

Ho un file PCM lineare (.wav) nella mia app e vorrei ottenerne la durata programmaticamente. Ho trovato quanto segue usando AudioStreamBasicDescription ma non sono riuscito a capire come ottenere la durata in secondi.

mFormatID
mSampleRate
mChannelsPerFrame
mBytesPerPacket
mFramesPerPacket
mBytesPerFrame
mBitsPerChannel

Qualcuno può dirmi come posso ottenere la durata.

Grazie.

È stato utile?

Soluzione

Puoi creare un'istanza di AVAudioPlayer con il tuo file. AVAudioPlayer ha proprietà di durata.

Altri suggerimenti

Utilizzando AudioFile la proprietà kAudioFilePropertyEstimatedDuration è la migliore, tuttavia se si desidera la matematica per PCM: duration = totalNumPackets * ASBD.mFramesPerPacket / ASBD.mSampleRate

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top