Ios 如何从MPMediaItem获取比特率

Ios 如何从MPMediaItem获取比特率,ios,avasset,mpmediaitem,Ios,Avasset,Mpmediaitem,我想从通过MPMediaPickerController检索的mpmediaeitem中获取歌曲的比特率,例如256 kbps。这可能吗 我试图通过以下途径获得: AVAsset(url: mediaItem.assetURL).tracks.first?.estimatedDataRate 但对于我尝试过的大多数歌曲,这是0,对于一首真正达到64kbps的歌曲,这是127999 我可以通过以下方式获得44100的采样率: let trackDescription = AVAsset(url:

我想从通过
MPMediaPickerController
检索的
mpmediaeitem
中获取歌曲的比特率,例如256 kbps。这可能吗

我试图通过以下途径获得:

AVAsset(url: mediaItem.assetURL).tracks.first?.estimatedDataRate
但对于我尝试过的大多数歌曲,这是0,对于一首真正达到64kbps的歌曲,这是127999

我可以通过以下方式获得44100的采样率:

let trackDescription = AVAsset(url: url).tracks.first?.formatDescriptions.first
let basicDescription = CMAudioFormatDescriptionGetStreamBasicDescription(trackDescription as! CMAudioFormatDescription)?.pointee
let sampleRate = basicDescription.mSampleRate
假设在给定采样率、位深度和通道计数的情况下,可以计算比特率,但在我的测试中,
mBitsPerChannel
始终为0