Я ищу по всему Интернету информацию о вычислении длины кадра, и это было сложно... Мне удалось успешно вычислить длину кадра в мс MPEG-4, AAC, используя:
frameLengthMs = mSamplingRate/1000
Это работает, так как в AAC есть один образец на кадр. Для MPEG-1 или MPEG-2 я запутался. На кадр приходится 1152 семпла, хорошо, так что мне с этим делать? :П
Пример кадра:
MPEGDecoder(23069): mSamplesPerFrame: 1152
MPEGDecoder(23069): mBitrateIndex: 7
MPEGDecoder(23069): mFrameLength: 314
MPEGDecoder(23069): mSamplingRate: 44100
MPEGDecoder(23069): mMpegAudioVersion 3
MPEGDecoder(23069): mLayerDesc 1
MPEGDecoder(23069): mProtectionBit 1
MPEGDecoder(23069): mBitrateIndex 7
MPEGDecoder(23069): mSamplingRateFreqIndex 0
MPEGDecoder(23069): mPaddingBit 1
MPEGDecoder(23069): mPrivateBit 0
MPEGDecoder(23069): mChannelMode 1
MPEGDecoder(23069): mModeExtension 2
MPEGDecoder(23069): mCopyright 0
MPEGDecoder(23069): mOriginal 1
MPEGDecoder(23069): mEmphasis 0
MPEGDecoder(23069): mBitrate: 96kbps