私はこれまでどんな曲がデバイス上で現在再生されているのかを知ることができるアプリを作りたいと思っています(例えばspotifyや他のプレイヤーを曲を再生すると、アプリはタイトルを取得できる必要があります)。タイトルは変数に格納されます。Swift IOS:現在の曲のタイトルを取得
nowPlayingInfoまたはMPMediaItemPropertyTitleの使用に成功しませんでした。
誰か助けてくれますか?これは私が試したコードですが、行にエラー(未解決の識別子 'playerItem'を使用)があります:let metadataList = playerItem.asset.metadata as!ローカルフォルダ内のいくつかのmusicsを持っているとのアートワーク、タイトル、アーティスト名やアルバムを取得したい場合は
let metadataList = playerItem.asset.metadata as! [AVMetadataItem]
の前でvar playerItem = AVPlayerItem(URL: url)
:[AVMetadataItem]
import UIKit
import MediaPlayer
import AVFoundation
class ViewController: UIViewController {
var url:NSURL!
let audioInfo = MPNowPlayingInfoCenter.default()
var nowPlayingInfo:[String:Any] = [:]
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
print(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
試したコードを共有できますか? – Sal
Paul私はいくつかのコードを追加しました – Kenneth