gpt4 book ai didi

ios - 如何跟踪 AVAudioFoundation 中的循环次数

转载 作者:搜寻专家 更新时间:2023-11-01 07:11:17 24 4
gpt4 key购买 nike

我正在我的 iOS 项目中制作一个音频播放器。我设置了 play(audiofUrl:URL, for times:Int) 方法,方法是传递 url 的名称和音频文件将播放的次数,如下所示:

func play(audioOfUrl:URL, for times:Int) {

let urlPath = audioOfUrl
loopsLeftOver = times
do {

let audio = try AVAudioPlayer.init(contentsOf: urlPath)
audioPlayer = audio
audio.play()
audio.numberOfLoops = times - 1


} catch let error {
print(error.localizedDescription)
}
}

还有 pause()resume(),我需要做的是跟踪音频播放器剩余的循环数。例如,如果我这样调用 play 方法:

play(audioOfUrl:audioUrl, for times:5)

我需要关注音频播放器运行时剩余的时间。

我尝试使用 AVAudioPlayerDelegate 方法,但它不起作用,如何关注 audio.numberOfLoops?提前致谢。

最佳答案

您可以订阅 AVPlayerItemDidPlayToEndTime 通知并计算此通知的处理程序已被调用的次数。

NotificationCenter.default.addObserver(self, selector:#selector(playerItemDidReachEnd(_:)),
name: NSNotification.Name.AVPlayerItemDidPlayToEndTime,
object: audioPlayer.currentItem)

关于ios - 如何跟踪 AVAudioFoundation 中的循环次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44743288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com