2012-05-22 90 views

回答

2

currentTime是设置玩家当前时间的属性。所以玩家将从那时开始播放您的音频。

deviceCurrentTime是为玩家播放或暂停获得时间的财产。如果你有两个玩家正在玩或暂停(不停止),所以装置时间会增加,直到玩家都停止。如果任何人正在播放或暂停设备时间将增加。

playAtTime是从音频输出设备的时间轴中的指定点开始异步播放声音的方法。

欲了解更多关于此的讨论,请参阅Apple文档AVAudioPlayer,您将对这三者有更好的了解。

2

一旦AVAudioPlayer被初始化,“duration”是以秒为单位的声音或音乐文件的长度。

“currentTime”是音乐文件中从开始起数秒内的位置。您可以在播放音乐时阅读currentTime,它会告诉您播放的音乐有多远。您可以在播放声音的任何时候设置currentTime,并立即播放更改后的时间。例如,要跳过10秒,只写

myAudioPlayer.currentTime += 10.0; 

您可以设置currentTime的,而音频播放器暂停或不启动,并且改变下一个“播放”命令将被播放音乐的位置。

“currentDeviceTime”是完全不同的,它与“playAtTime”一起使用,让您可以在需要时开始播放,也可以同时启动两个声音。

最好设想你的手机的扬声器有一个内置的时钟,可能会返回一个不同的时间,那么你的正常时钟。 “currentDeviceTime”根据扬声器的时钟返回当前时间。如果您致电

[myAudioPlayer startPlayAt:myAudioPlayer.currentDeviceTime + 10.0]; 

“play”命令将从现在开始正好开始十秒。 currentDeviceTime与你的音乐文件无关,它只是一个时钟。天知道苹果为什么不仅仅用于例如dispatch_time_t本应该工作得很好。