需要检查AVAudioPlayerNode的状态。如果正在播放某些缓冲区/文件,则已完成,已调度...仅当完成使用完成处理程序更新变量时才能获取。但是...无论如何要知道它是否已调度或在特定时刻播放缓冲区?
(从AUGraph音频渲染移至AVAudioPlayerNode是一件痛苦的事...
PD:我使用AVAudioTime数组对其进行管理,每次添加一个新的scheduleBuffer,检查完成处理程序上的数组,并在AVAudioTime值+ buffLength低于当前时间时删除旧数组。
要再次检查是否正在播放某些东西,请迭代所有数组值,并检查当前时间是否高于AVAudioTime值但低于value + buffLength。
繁琐的任务。我希望有更好的解决方案