【发布时间】:2024-01-06 08:08:01
【问题描述】:
这是一个关于AVPlayer中setRate函数的API文档,我只是不明白这个函数的概念。
itemTime 和 hostClockTime?这些是什么?我什么时候需要它们?
你能给我一个使用这些参数的例子吗?
/*!
@method setRate:time:atHostTime:
@abstract Simultaneously sets the playback rate and the relationship between the current item's current time and host time.
@discussion You can use this function to synchronize playback with an external activity.
The current item's timebase is adjusted so that its time will be (or was) itemTime when host time is (or was) hostClockTime.
In other words: if hostClockTime is in the past, the timebase's time will be interpolated as though the timebase has been running at the requested rate since that time. If hostClockTime is in the future, the timebase will immediately start running at the requested rate from an earlier time so that it will reach the requested itemTime at the requested hostClockTime. (Note that the item's time will not jump backwards, but instead will sit at itemTime until the timebase reaches that time.)
Note that advanced rate control is not currently supported for HTTP Live Streaming.
@param itemTime The time to start playback from, specified precisely (i.e., with zero tolerance).
Pass kCMTimeInvalid to use the current item's current time.
@param hostClockTime
The host time at which to start playback.
If hostClockTime is specified, the player will not ensure that media data is loaded before the timebase starts moving.
If hostClockTime is kCMTimeInvalid, the rate and time will be set together, but without external synchronization;
a host time in the near future will be used, allowing some time for data media loading.
*/
【问题讨论】:
标签: ios swift avfoundation avplayer