有没有办法只在AVPlayer
播放音频即使网址流同时包含音频和视频?
答案 0 :(得分:0)
将视频播放器的大小设置为0x0或将其放在屏幕之外。
答案 1 :(得分:0)
可以。我已经使用本地mp4视频进行了验证。 AVPlayerItem
加载视频轨道后,您必须禁用它们。
最简单的实现是这样的。
let item = AVPlayerItem(url: url)
var token: NSKeyValueObservation!
token = item.observe(\.tracks) { item, _ in
item.tracks
.filter { $0.assetTrack?.mediaType == .video }
.forEach { $0.isEnabled = false }
token.invalidate()
}
let player = AVPlayer(playerItem: item)
player.play()
或者,您可以添加虚拟视频输出。但是,这仍然会消耗资源。
let item = AVPlayerItem(url: url)
item.add(AVPlayerItemVideoOutput())
let player = AVPlayer(url: item)