【问题标题】:How to use AVPlayer's function "setRate" in iOS如何在 iOS 中使用 AVPlayer 的函数“setRate”
【发布时间】: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


    【解决方案1】:

    如文档所述,您可以使用此函数将播放与外部活动同步。

    AVPlayer not synchronized 的这个问题中,用户(在他们的回答中)使用相同的功能来同步三个单独视频的播放(确保它们都以完全相同的速率播放并保持同步)。

    您还可以调整速率以加快或减慢视频播放速度(例如“某种”慢动作)。

    【讨论】:

      最近更新 更多