我可以使用调度程序进行AudioServicesPlaySystemSound循环吗?一个问题是我无法获得声音持续时间。有没有办法获得持续时间,所以我可以动态创建一个循环声音的调度程序?据我所知,AudioService没有内置循环和其他必需功能,这真的很痛苦。
答案 0 :(得分:0)
音频会话与播放音频的事物不同。该会话管理混音器级别和基本路由到不同的东西,如耳机和扬声器和什么不是。循环事物是玩家的财产。
如果您不需要低级音频内容,则可以使用具有repeatMode
属性的MPMusicPlayerController来使用。
另外,还有AVAudioPlayer,您可以监听delegate messages并在停止时开始播放以模拟自己循环播放。
答案 1 :(得分:0)
您不需要使用AVAudioPlayer,因为您也可以使用AudioServices注册回调。
见How to vibrate continuously中的答案;只需用您自己的声音替换振动SystemSoundID。