Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- override open func observeValue(forKeyPath: String?, of: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
- guard forKeyPath == "timedMetadata" else { return }
- guard let meta = PlayerItem.timedMetadata else { return }
- for metadata in meta {
- if let songName = metadata.value(forKey: "value") as? String {
- Variables.MediaInfo = (songName)
- self.MediaBox.text = ("Now Playing n (songName)")
- setupNowPlaying()
- }
- }
- }
- class ViewController: UIViewController,AVPlayerItemMetadataOutputPushDelegate {
- weak var myDelegate: AVPlayerItemMetadataOutputPushDelegate?
- var playerItem: AVPlayerItem?
- var player = AVPlayer()
- override func viewDidLoad() {
- super.viewDidLoad()
- print("lets go!")
- let url = URL(string: "<URLREMOVED>")!
- let asset = AVAsset(url: url)
- let playerItem = AVPlayerItem(asset: asset)
- let metadataOutput = AVPlayerItemMetadataOutput(identifiers: nil)
- metadataOutput.setDelegate(self, queue: DispatchQueue.main)
- playerItem.add(metadataOutput)
- player = AVPlayer(playerItem: playerItem)
- player.play()
- print("END")
- print(playerItem.automaticallyLoadedAssetKeys.description)
- }
- func metadataOutput(_ output: AVPlayerItemMetadataOutput, didOutputTimedMetadataGroups groups: [AVTimedMetadataGroup], from track: AVPlayerItemTrack?) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement