如何在Swift中给定的AVURLAsset中计算音频/字幕轨道的数量?

时间:2018-07-12 00:28:11

标签: ios iphone swift hls avasset

我想计算给定AVURLAsset中音频和字幕轨道的数量。如何使用Swift做到这一点?

对于给定的清单,预期答案应为2个字幕和3个音轨

<?php
session_start();
session_destroy();
header('Location: index.php');
?>

谢谢

1 个答案:

答案 0 :(得分:0)

您似乎需要使用函数AVAsset.tracks()

func tracks(withMediaType mediaType: AVMediaType) -> [AVAssetTrack]

然后,您可以从其提供的here中选择mediaType参数。从您可以指定的内容来看,您似乎必须使用AVMediaType.audioAVMediaType.subtitle

即获取音轨数量

var audioTracks = YourAVURLAsset.tracks(AVMediaType.audio);
var nAudioTracks = audioTracks.count;

或字幕轨道的数量

var subtitleTracks = YourAVURLAsset.tracks(AVMediaType.subtitle);
var nSubtitleTracks = var subtitleTracks.count;

注意: 代码未经测试,因此可能需要进行一些调整,但希望这可以使您朝正确的方向前进