检查AVAudioPlayerNode是否正在播放缓冲区/文件,已调度或已完成?

时间:2019-07-09 10:15:49

标签: swift avfoundation avaudioplayernode

需要检查AVAudioPlayerNode的状态。如果正在播放某些缓冲区/文件,则已完成,已调度...仅当完成使用完成处理程序更新变量时才能获取。但是...无论如何要知道它是否已调度或在特定时刻播放缓冲区?

(从AUGraph音频渲染移至AVAudioPlayerNode是一件痛苦的事...

PD:我使用AVAudioTime数组对其进行管理,每次添加一个新的scheduleBuffer,检查完成处理程序上的数组,并在AVAudioTime值+ buffLength低于当前时间时删除旧数组。

要再次检查是否正在播放某些东西,请迭代所有数组值,并检查当前时间是否高于AVAudioTime值但低于value + buffLength。

繁琐的任务。我希望有更好的解决方案

0 个答案:

没有答案