Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AVPlayer不使用预加载_Ios_Objective C_Iphone_Http Headers_Avplayer - Fatal编程技术网

Ios AVPlayer不使用预加载

Ios AVPlayer不使用预加载,ios,objective-c,iphone,http-headers,avplayer,Ios,Objective C,Iphone,Http Headers,Avplayer,我尝试播放一些remoute音频文件时遇到问题 为此,我使用AvPlayer。 您如何知道在开始播放时,我们开始预加载: init AVURLAsset 集合观察器 初始化avplayer 例如: if (trackUrl) { self.asset = [AVURLAsset assetWithURL:trackUrl]; NSArray *assetKeys = @[@"playable", @"hasProtectedContent"]; self.play

我尝试播放一些remoute音频文件时遇到问题

为此,我使用AvPlayer。 您如何知道在开始播放时,我们开始预加载:

  • init AVURLAsset
  • 集合观察器
  • 初始化avplayer
例如:

 if (trackUrl) {
    self.asset = [AVURLAsset assetWithURL:trackUrl];
    NSArray *assetKeys = @[@"playable", @"hasProtectedContent"];

    self.playerItem = [AVPlayerItem playerItemWithAsset:self.asset
                           automaticallyLoadedAssetKeys:assetKeys];

    NSKeyValueObservingOptions options =
    NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew;

    [self.playerItem addObserver:self
                      forKeyPath:@"status"
                         options:options
                         context:playerItemContext];

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(trackDidFinishPlaying:) name:AVPlayerItemDidPlayToEndTimeNotification object:self.playerItem];

    [self removePeriodicTimeObserver];
    self.player = [AVPlayer playerWithPlayerItem:self.playerItem];
    return;
}
所以,对于响应头“content disposition”中没有此字段的音频文件,一切正常。预加载过程真的很快

例如:

但对于在响应头“content disposition:”处有此字段的音频文件。预加载过程真的很长

例如: 看起来AvPlayer试图加载所有文件,只有在加载之后才能播放此文件

问题:

你知道我怎么能省略这个长的预加载吗?

我怎么能错过响应时的“内容配置:”字段?