【问题标题】: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]
    }
}

【问题讨论】:

    标签: ios swift audio uiwebview mpmediaitem


    【解决方案1】:

    你必须用它的初始化器来初始化 MPMediaItemArtwork

    let image = UIImage(named: "Artwork")!
    let artwork = MPMediaItemArtwork.init(boundsSize: image.size, requestHandler: { (size) -> UIImage in
        return image
    })
    

    【讨论】:

    • 谢谢!我编辑了代码以显示您的改进。现在,为什么它仍然显示流式 URL 而不是给定的nowPlayingInfo,有什么理由吗?
    • 没关系!我通过将代码放在applicationDidEnterBackground 函数下使其工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多