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秒。但在浏览器中播放是即时的。不,对不起,我开始使用另一个库