播放音频时设置自定义元数据(控制中心、锁屏...)
Posted
技术标签:
【中文标题】播放音频时设置自定义元数据(控制中心、锁屏...)【英文标题】:Set custom metadata when audio is playing (Control Centre, Lockscreen...) 【发布时间】:2017-01-19 22:56:38 【问题描述】:总结
我目前正在尝试为每次播放音频时设置应用范围的默认元数据。目前,控制中心和锁屏上仅显示音频流的 URL。我正在尝试自己的自定义值;但是,我无法让它工作。值得注意的是,音频是通过UIWebView
播放的。
(下图继续)
ViewController.swift
import UIKit
import AVFoundation
import MediaPlayer
class ViewController: UIViewController, UIWebViewDelegate, UIScrollViewDelegate
var mPlayer: MPMediaItem!
override func viewDidLoad()
super.viewDidLoad()
let image = UIImage(named: "Artwork")!
let artwork = MPMediaItemArtwork.init(boundsSize: image.size, requestHandler: (size) -> UIImage in
return image
)
let nowPlaying: NSDictionary = [MPMediaItemPropertyTitle: "Song",
MPMediaItemPropertyArtist: "Artist",
MPMediaItemPropertyArtwork: artwork]
MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlaying as? [String : Any]
【问题讨论】:
【参考方案1】:你必须用它的初始化器来初始化 MPMediaItemArtwork
let image = UIImage(named: "Artwork")!
let artwork = MPMediaItemArtwork.init(boundsSize: image.size, requestHandler: (size) -> UIImage in
return image
)
【讨论】:
谢谢!我编辑了代码以显示您的改进。现在,为什么它仍然显示流式 URL 而不是给定的nowPlayingInfo
,有什么理由吗?
没关系!我通过将代码放在applicationDidEnterBackground
函数下使其工作。以上是关于播放音频时设置自定义元数据(控制中心、锁屏...)的主要内容,如果未能解决你的问题,请参考以下文章