我的工作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本應該工作得很好。