Ios AVPlayer从url加载速度慢

Ios AVPlayer从url加载速度慢,ios,swift3,avplayer,Ios,Swift3,Avplayer,我已经创建了AVQueuePlayer来加载音频。源文件来自音频文件。说到执行,我发现播放下一个视频需要6-7秒。请告诉我如何优化下载时间,并尽量减少下载下一个音频的等待时间 这是我的密码: let url = URL(string: (audio?.audio_path)!) let playerItem:AVPlayerItem = AVPlayerItem(url: url!) 我已经回答了一个关于线程加载缓慢的问题 AVPlayer具有iOS 10+的功能,您可以试用。我自己用过,一切

我已经创建了AVQueuePlayer来加载音频。源文件来自音频文件。说到执行,我发现播放下一个视频需要6-7秒。请告诉我如何优化下载时间,并尽量减少下载下一个音频的等待时间

这是我的密码:

let url = URL(string: (audio?.audio_path)!)
let playerItem:AVPlayerItem = AVPlayerItem(url: url!)

我已经回答了一个关于线程加载缓慢的问题

AVPlayer
具有iOS 10+的功能,您可以试用。我自己用过,一切正常

/*!
 @method        playImmediatelyAtRate:
 @abstract      Immediately plays the available media data at the specified rate.
 @discussion
 When the player's currentItem has a value of NO for playbackBufferEmpty, this method causes the value of rate to change to the specified rate, the value of timeControlStatus to change to AVPlayerTimeControlStatusPlaying, and the receiver to play the available media immediately, whether or not prior buffering of media data is sufficient to ensure smooth playback.
 If insufficient media data is buffered for playback to start (e.g. if the current item has a value of YES for playbackBufferEmpty), the receiver will act as if the buffer became empty during playback, except that no AVPlayerItemPlaybackStalledNotification will be posted.
 */
- (void)playImmediatelyAtRate:(float)rate NS_AVAILABLE(10_12, 10_0);
此外,您可以签出此变量(也可以使用KVO):

   /*!
     @property      reasonForWaitingToPlay
     @abstract      Indicates the reason for waiting when the value of timeControlStatus is AVPlayerTimeControlStatusWaitingToPlayAtSpecifiedRate
     @discussion
        When the value of timeControlStatus is AVPlayerTimeControlStatusWaitingToPlayAtSpecifiedRate, this property describes why the player is currently waiting. It is nil otherwise.
        You can use the value of reasonForWaitingToPlay to show UI indicating the player's waiting state conditionally.
        This property is key value observable.
        Possible values are AVPlayerWaitingWithNoItemToPlayReason, AVPlayerWaitingWhileEvaluatingBufferingRateReason, and AVPlayerWaitingToMinimizeStallsReason.
    */

    @property (nonatomic, readonly, nullable) NSString *reasonForWaitingToPlay NS_AVAILABLE(10_12, 10_0);