Вопрос:

Аудио информация текущего трека iOS Swift

ios swift avaudioplayer

1786 просмотра

1 ответ

523 Репутация автора

Допустим, воспроизводится трек (через любое приложение), и я хочу получить информацию о песне, такую ​​как название. Он отображается на экране при блокировке телефона вместе с обложкой альбома. Как я могу получить эту информацию, используя swift?

Автор: shaydawg Источник Размещён: 23.07.2015 07:50

Ответы (1)


0 плюса

56067 Репутация автора

Решение

Вот пример функции для получения аудиоинформации:

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

}

Надеюсь, это поможет.

Автор: Dharmesh Размещён: 23.07.2015 08:00
Вопросы из категории :
32x32