如何检查 AVPlayer 中的音频通道数?
Posted
技术标签:
【中文标题】如何检查 AVPlayer 中的音频通道数?【英文标题】:How to check audio channel counts in AVPlayer? 【发布时间】:2017-02-20 16:42:48 【问题描述】:目前我正在尝试开发没有情节提要的在线视频播放应用程序。我能够在 AVPlayer 上播放视频,但遇到了音频通道问题(多合一 .mp4,未分离)。有些视频不止一个(如英语、德语等)。 这是代码示例
if let url = URL(string: urlString)
let player = AVPlayer(url: url)
let playerLayer = AVPlayerLayer(player: player)
self.layer.addSublayer(playerLayer)
playerLayer.frame = self.frame
player.play()
问题如何获得音频通道数的数量并能够切换它们? 提前致谢
【问题讨论】:
【参考方案1】:1:在您的情况下,您可以获取currentItem 资产:
player.currentItem.asset
或加载 AVURLAsset 并将其与您的 AVPlayer 一起使用。
2:如果您指定 AVMediaTypeAudio
,则 tracks(withMediaType:) 应该从 AVAsset
中返回一个带有音频通道的数组。
3:然后您可以检查数组中的对象数量。
【讨论】:
这是音频文件中的轨道数,而不是通道数..以上是关于如何检查 AVPlayer 中的音频通道数?的主要内容,如果未能解决你的问题,请参考以下文章