Swift中数组的所有音频文件的总持续时间

时间:2018-11-17 11:52:41

标签: swift

如何在Swift 3/4中获取数组的所有音频文件的总持续时间?
[“ A”,“ x”,“ B”,“ y”,“ C”,“ x”,“ D”,“ y”]

F。一世。持续时间(秒):
x:1秒
y:1秒
A:5秒
B:10秒
C:20秒
D:25秒

因此上述阵列的总持续时间为64秒。

可以通过用户通过SegmentedControl进行选择来更改数组(例如,重复“ x”两次,“ y”重复3次):
[“ A”,“ x”,“ x”,“ B”,“ y”,“ y”,“ y”,“ C”,“ x”,“ x”,“ D”,“ y”,“ y“,” y“]

是否可以通过列表从音频文件中获取总持续时间,或者是否可以使用AVFoundation的函数/方法或其他解决方案?

每个音频文件的持续时间(以秒为单位)都是已知的,并在列表中给出。

1 个答案:

答案 0 :(得分:0)

如果持续时间的“列表”是一个说Int值的数组(例如,以秒为单位),则可以像这样减少(求和)数组的内容。

let durations = [1, 2, 3, 4]
let durationsSum = durations.reduce(0, { x, y in
    x + y
 })