Swift中阵列的所有音频文件的总持续时间
如何在Swift 3/4中获取阵列中所有音频文件的总持续时间?Swift中阵列的所有音频文件的总持续时间,swift,Swift,如何在Swift 3/4中获取阵列中所有音频文件的总持续时间? [“A”、“x”、“B”、“y”、“C”、“x”、“D”、“y”] 到岸价。以秒为单位的持续时间: x:1s y:1s A:5s B:10s C:20秒 D:25秒 因此,上述阵列的总持续时间为64秒 该数组可以通过分段控制(f.i.:重复“x”2次和“y”3次)通过用户选择进行变异: [“A”、“x”、“x”、“B”、“y”、“y”、“y”、“C”、“x”、“x”、“D”、“y”、“y”、“y”] 是否有可能通过列表从音频文件中获
[“A”、“x”、“B”、“y”、“C”、“x”、“D”、“y”] 到岸价。以秒为单位的持续时间:
x:1s
y:1s
A:5s
B:10s
C:20秒
D:25秒 因此,上述阵列的总持续时间为64秒 该数组可以通过分段控制(f.i.:重复“x”2次和“y”3次)通过用户选择进行变异:
[“A”、“x”、“x”、“B”、“y”、“y”、“y”、“C”、“x”、“x”、“D”、“y”、“y”、“y”] 是否有可能通过列表从音频文件中获取总持续时间,或者是否有使用AVFoundation的函数/方法或其他方法的解决方案 每个音频文件的持续时间(以秒为单位)都是已知的,并在列表中给出。如果持续时间的“列表”是一个由say Int值组成的数组(例如,以秒为单位),则可以这样减少(求和)数组的内容
let durations = [1, 2, 3, 4]
let durationsSum = durations.reduce(0, { x, y in
x + y
})
您可以从URL创建
AVAsset
实例,将对象映射到它们的持续时间
,并将其相加。x、y、A、B、C、D是数字还是它们的末尾有s
?数组中的对象是什么?您的示例是字符串。那些是文件名吗?如果是这样的话,它们是什么类型的声音文件,你是如何加载和播放它们的?@Duncan C你的例子是字符串。那些是文件名吗?对它们是什么类型的声音文件?m4a。你是如何加载和播放它们的?AVAudioPlayer@vadian听起来很简单,但我该怎么做呢。特别是如何从URL创建AVAsset实例并将对象映射到其持续时间?或者durationSum=durations.reduce(0,+)