我的工作AVAudioPlayer但我感到困惑currentTime的,deviceCurrentTime,playAtTime为AVAudioPlayer
currentTime
,deviceCurrentTime
,并且-playAtTime:
任何人都可以与一些解释示例代码?
我的工作AVAudioPlayer但我感到困惑currentTime的,deviceCurrentTime,playAtTime为AVAudioPlayer
currentTime
,deviceCurrentTime
,并且-playAtTime:
任何人都可以与一些解释示例代码?
currentTime
是设置玩家当前时间的属性。所以玩家将从那时开始播放您的音频。
deviceCurrentTime
是为玩家播放或暂停获得时间的财产。如果你有两个玩家正在玩或暂停(不停止),所以装置时间会增加,直到玩家都停止。如果任何人正在播放或暂停设备时间将增加。
playAtTime
是从音频输出设备的时间轴中的指定点开始异步播放声音的方法。
欲了解更多关于此的讨论,请参阅Apple文档AVAudioPlayer,您将对这三者有更好的了解。
一旦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本应该工作得很好。