Nic*_*der 5 ios avplayer swift ipfs moralis
我有一个 ipfs 加密的视频 URL。
我无法在 avplayer 中播放视频,但 URL 在 webview 中播放良好。
这是网址: https: //ipfs.moralis.io:2053 /ipfs/QmUjWnQZVVNmTSVak2QDhTxMkn3dPQozxawa1sm3jE5bLr
let currentURL = URL(string: "https://ipfs.moralis.io:2053/ipfs/QmUjWnQZVVNmTSVak2QDhTxMkn3dPQozxawa1sm3jE5bLr")!
let playerItem = AVPlayerItem(url: currentURL)
playerItem.addObserver(self, forKeyPath: "status", options: NSKeyValueObservingOptions(), context: nil)
player = AVPlayer(playerItem: playerItem)let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.avplayerUIView.bounds
self.avplayerUIView.layer.addSublayer(playerLayer)
player.play()
Run Code Online (Sandbox Code Playgroud)
另外,我已将 AVUrlAssets 与视频扩展和视频编解码器一起使用,但视频仍然无法播放
let mimeType = "video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\""
let asset: AVURLAsset = AVURLAsset(url: videoURL!, options: ["AVURLAssetOutOfBandMIMETypeKey" : mimeType])
Run Code Online (Sandbox Code Playgroud)
奇怪的。好像AVPlayerLayer无法解析视频。如果删除playerLayer,您将听到音频播放正常。
我的解决方案是使用AVPlayerViewController.
let vc = AVPlayerViewController()
vc.view.frame = view.bounds
vc.player = player
player.play()
present(vc, animated: true) // or use as a child view controller by embedding in a container view
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
889 次 |
| 最近记录: |