在AVPlayer
中,即使url流同时包含音频和视频,也有办法仅播放音频吗?
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)
将您的视频播放器大小设置为0x0或将其放置在屏幕外。