Ios 服务器距离较远时,AVPlayer流媒体播放时间过长

Ios 服务器距离较远时,AVPlayer流媒体播放时间过长,ios,streaming,avplayer,Ios,Streaming,Avplayer,我正在使用AVPlayer为iOS实现一个播放器。 我正在使用一个指向后端服务的链接,该服务返回301并重定向到指向7Digital中歌曲的链接 在西班牙(我所在的地方)的延迟时间为: ping到后端:40毫秒 ping至7位数字:20毫秒 当我在西班牙播放这首歌时,需要2秒钟才能开始播放 出于某种原因,如果我播放那首来自新加坡的歌曲,它需要8秒钟才能开始播放。在这8秒钟内,AVPlayer.reasonForWaitingToPlay是AVPlayer等待,同时评估bufferingrater

我正在使用
AVPlayer
为iOS实现一个播放器。 我正在使用一个指向后端服务的链接,该服务返回301并重定向到指向7Digital中歌曲的链接

在西班牙(我所在的地方)的延迟时间为: ping到后端:40毫秒 ping至7位数字:20毫秒

当我在西班牙播放这首歌时,需要2秒钟才能开始播放

出于某种原因,如果我播放那首来自新加坡的歌曲,它需要8秒钟才能开始播放。在这8秒钟内,
AVPlayer.reasonForWaitingToPlay
AVPlayer等待,同时评估bufferingraterason
,直到开始播放

新加坡的延迟时间为:

ping到后端:360毫秒。 ping至7位数字:300毫秒

我尝试了不同的玩家,比如
VLCKit
StreamingKit
,结果都是一样的

我还尝试了
[player playitemmediatelyrate:1]
player.automaticallyWaitsToMinimizeStalling=false也有相同的结果

如果我用这首歌:[,在新加坡播放需要4秒,在西班牙播放需要2.5秒

从新加坡ping到techslides.com:500毫秒。 从西班牙ping到techslides.com:150毫秒

如果我从浏览器播放这些歌曲,在西班牙和新加坡都不会有延迟

知道这里发生了什么吗?真让人困惑

编辑:

这是我使用的代码:

    NSURL *url = [[NSURL alloc] initWithString:urlString];
    AVAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
    AVPlayerItem *anItem = [AVPlayerItem playerItemWithAsset:asset];
    player.automaticallyWaitsToMinimizeStalling=false;
    player = [AVPlayer playerWithPlayerItem:anItem];
    [player addObserver:self forKeyPath:@"status" options:0 context:nil];
    [player addObserver:self forKeyPath:@"timeControlStatus" options:0 context:nil];

    //[player play];
    [player playImmediatelyAtRate:1];


分享代码你在做什么?你是如何初始化url和播放的?好的,我会编辑问题你找到解决方案了吗?我有同样的问题,但在丹麦尝试从7digital流媒体时。对于某些曲目,开始播放需要15秒。但在浏览器中播放是即时的。不,对不起,我开始使用另一个库