Is it possible to get a song's bit rate from MPMediaItem?

I'd like to get a song's bit rate, for example 256 kbps, from a MPMediaItem retrieved via MPMediaPickerController. Is this possible?

I tried to get it via:

AVAsset(url: mediaItem.assetURL).tracks.first?.estimatedDataRate

but this is 0 for most songs I've tried, and it's 127999 for a song that's really 64 kbps.

I can get the sample rate of 44100 via:

let trackDescription = AVAsset(url: url).tracks.first?.formatDescriptions.first
let basicDescription = CMAudioFormatDescriptionGetStreamBasicDescription(trackDescription as! CMAudioFormatDescription)?.pointee
let sampleRate = basicDescription.mSampleRate

Supposedly one can calculate the bit rate given the sample rate, bit depth, and channels count, but I'm seeing mBitsPerChannel is always 0 in my testing.

Is it possible to get a song's bit rate from MPMediaItem?
 
 
Q