Ios AVPlayer无法检索任意项目的标题元数据

Ios AVPlayer无法检索任意项目的标题元数据,ios,swift,avfoundation,avplayer,avkit,Ios,Swift,Avfoundation,Avplayer,Avkit,我在这里似乎无法识别任何模式,但AVPlayer无法获取某些(但并非所有)mp3文件的曲目标题元数据,这些文件通常长达一小时以上。在所有这些实例中,其他元数据(如artwork、Artister或album title)都被准确地检索到 通过iTunes同步时,stock music应用程序没有任何问题,然后尝试通过MPMediaItem获取标题。标题在每种情况下都会正确返回标题 下面是代码片段。我观察了带有断点的代码,问题项在AVMetadataCommonKeyTitle的第二个else i

我在这里似乎无法识别任何模式,但AVPlayer无法获取某些(但并非所有)mp3文件的曲目标题元数据,这些文件通常长达一小时以上。在所有这些实例中,其他元数据(如artwork、Artister或album title)都被准确地检索到

通过iTunes同步时,stock music应用程序没有任何问题,然后尝试通过MPMediaItem获取标题。标题在每种情况下都会正确返回标题

下面是代码片段。我观察了带有断点的代码,问题项在AVMetadataCommonKeyTitle的第二个else if语句中没有执行任何内容,但所有其他语句都按预期工作。同样,此代码适用于99.9%的项目

指向某些非工作文件的链接:


你能链接到一个不工作的文件吗?另一个不工作的文件:你能链接到一个不工作的文件吗?另一个不工作的文件:
            //Declare blank/default vars
            var artist: String = ""
            var album: String = ""
            var track: String = ""
            var artwork: UIImage! = UIImage(named: "defaultArtwork")


            //Metadata loop
            for i in asset!.commonMetadata {
                if i.commonKey == AVMetadataCommonKeyArtist {
                    artist = i.value as! String
                }
                else if i.commonKey == AVMetadataCommonKeyTitle {
                    track = i.value as! String
                }
                else if i.commonKey == AVMetadataCommonKeyAlbumName {
                    album = i.value as! String
                }
                else if i.commonKey == AVMetadataCommonKeyArtwork {
                    artwork = UIImage(data: i.value as! Data)
                }
            }