在 Swift 中获取曲目的元数据

Posted

技术标签:

【中文标题】在 Swift 中获取曲目的元数据【英文标题】:Get Metadata for a track in Swift 【发布时间】:2015-12-07 05:04:33 【问题描述】:

我正在开发 Xcode-Swift-Spotify 项目,我唯一想要的是获取有关当前正在播放的歌曲的信息,我的意思是名称、专辑等信息,我已经尝试了很多不同的方式,但我无法得到它。请帮我。下面有一个例子

func audiostreaming(audioStreaming: SPTAudioStreamingController!, didStartPlayingTrack trackUri: NSURL!)


    SPTTrack.trackWithURI(self.player?.currentTrackURI, session: spotifyAuthenticator.session)  (error:NSError!, track:AnyObject!) -> Void in

        print(track.name)

    

我忘了说,我正在使用 Spotify SDK

【问题讨论】:

【参考方案1】:

我给你看我的例子

 var avpItem = AVPlayerItem(URL: megaURL)
            var commonMetaData = avpItem.asset.commonMetadata as! [AVMetadataItem]
            for item in commonMetaData 
                if item.commonKey == "title" 
                    songTitle = item.stringValue
                
                if item.commonKey == "artist" 
                    songArtist = item.stringValue
                
                if item.commonKey == "album" 
                    songAlbum = item.stringValue
                
                if item.commonKey == "artwork" 
                    songArtworkData = item.dataValue
                

元数据的关键字

let AVMetadataCommonKeyTitle: String
let AVMetadataCommonKeyCreator: String
let AVMetadataCommonKeySubject: String
let AVMetadataCommonKeyDescription: String
let AVMetadataCommonKeyPublisher: String
let AVMetadataCommonKeyContributor: String
let AVMetadataCommonKeyCreationDate: String
let AVMetadataCommonKeyLastModifiedDate: String
let AVMetadataCommonKeyType: String
let AVMetadataCommonKeyFormat: String
let AVMetadataCommonKeyIdentifier: String
let AVMetadataCommonKeySource: String
let AVMetadataCommonKeyLanguage: String
let AVMetadataCommonKeyRelation: String
let AVMetadataCommonKeyLocation: String
let AVMetadataCommonKeyCopyrights: String
let AVMetadataCommonKeyAlbumName: String
let AVMetadataCommonKeyAuthor: String
let AVMetadataCommonKeyArtist: String
let AVMetadataCommonKeyArtwork: String
let AVMetadataCommonKeyMake: String
let AVMetadataCommonKeyModel: String
let AVMetadataCommonKeySoftware: String

【讨论】:

以上是关于在 Swift 中获取曲目的元数据的主要内容,如果未能解决你的问题,请参考以下文章

Cocoalibspotify,封面艺术未加载其余元数据

如何使用 Swift 通过 PHAsset 访问 UIImage 的元数据

是否可以在 Swift 中捕获的图像中添加自己的元数据

使用 FFmpeg 检索和保存媒体元数据

如何使用 Swift 在 healthkit 中访问锻炼的元数据

Echo Nest 曲目 ID 到 Spotify URI 的转换