Audio Information of Current Track iOS Swift

前端 未结 1 969
孤城傲影
孤城傲影 2021-01-16 03:03

Let\'s say a track is playing (through any app), and I want to get the song information, such as the name. It shows up on your screen when you lock the phone, along with the

相关标签:
1条回答
  • 2021-01-16 03:46

    Here is example function to get audio Info:

    import MediaPlayer
    
    var url:NSURL!
    let audioInfo = MPNowPlayingInfoCenter.defaultCenter()
    var nowPlayingInfo:[NSObject:AnyObject] = [:]
    
    func fetchMP3Info() {
    
        let playerItem = AVPlayerItem(URL: url)  //this will be your audio source 
        println(url.path!)
    
        let metadataList = playerItem.asset.metadata as! [AVMetadataItem]
        for item in metadataList {
            if item.commonKey != nil && item.value != nil {
                if item.commonKey  == "title" {
                    println(item.stringValue)
                    nowPlayingInfo[MPMediaItemPropertyTitle] = item.stringValue
                }
                if item.commonKey   == "type" {
                    println(item.stringValue)
                    nowPlayingInfo[MPMediaItemPropertyGenre] = item.stringValue
                }
                if item.commonKey  == "albumName" {
                    println(item.stringValue)
                    nowPlayingInfo[MPMediaItemPropertyAlbumTitle] = item.stringValue
                }
                if item.commonKey   == "artist" {
                    println(item.stringValue)
                    nowPlayingInfo[MPMediaItemPropertyArtist] = item.stringValue
                }
                if item.commonKey  == "artwork" {
                    if let image = UIImage(data: item.value as! NSData) {
                        nowPlayingInfo[MPMediaItemPropertyArtwork] = MPMediaItemArtwork(image: image)
                        println(image.description)
                    }
                }
            }
        }
        audioInfo.nowPlayingInfo = nowPlayingInfo
    
    }
    

    Hope this will help.

    0 讨论(0)
提交回复
热议问题