答案 0 :(得分:4)
初始化AVAudioPlayer后,"持续时间"是声音或音乐文件的长度,以秒为单位。
" currentTime的"是一个从一开始就在音乐文件中的位置。你可以在播放音乐时读取currentTime,它会告诉你音乐的播放距离。您可以在播放声音的任何时候设置currentTime,它将立即从更改的时间播放。例如,要跳过10秒,只需写
myAudioPlayer.currentTime += 10.0;
您可以在音频播放器暂停或未启动时设置currentTime,并改变音乐中下一个播放"的位置。命令将播放。
" currentDeviceTime"是完全不同的东西,它与" playAtTime"一起使用。让你在你想要的时候开始准确地演奏,或者同时开始两个声音。
最好想象一下手机的扬声器有一个内置时钟,可能会返回与正常时钟不同的时间。 " currentDeviceTime"根据扬声器的时钟返回当前时间。如果你打电话
[myAudioPlayer startPlayAt:myAudioPlayer.currentDeviceTime + 10.0];
a" play"命令将在十秒后启动。 currentDeviceTime与你的音乐文件无关,它只是一个时钟。天知道为什么苹果公司还没有使用例如dispatch_time_t,这应该可以正常工作。
答案 1 :(得分:2)
currentTime
是设置玩家当前时间的属性。因此播放器将从那时开始播放您的音频。
deviceCurrentTime
是玩家正在玩或暂停的时间。如果您有两个玩家正在播放或暂停(未停止),那么设备时间将会增加,直到两个玩家都停止。如果任何人正在播放或暂停设备时间会增加。
playAtTime
是从音频输出设备的时间轴中的指定点开始异步播放声音的方法。
有关此内容的更多讨论,请参阅Apple文档AVAudioPlayer,您将对这三个内容有所了解。