小编Pau*_*ell的帖子

AVPlayer使用资源加载器委托停止在大型视频文件上

我正在使用这种方法来保存AVPlayer的缓冲区数据以用于视频文件.找到这个问题的答案保存AVPlayer的缓冲区数据.

iPhone和iPad - iOS 8.1.3

我做了必要的更改来播放视频,它工作得非常好,除非我尝试播放一段很长的视频(长11-12分钟,大小约为85mb),视频将在连接完成加载后大约4分钟停止.我收到了playbackBufferEmpty事件和播放器项目停止通知.

这是代码的要点

viewController.m
@property (nonatomic, strong) NSMutableData *videoData;
@property (nonatomic, strong) NSURLConnection *connection;
@property (nonatomic, strong) AVURLAsset *vidAsset;
@property (nonatomic, strong) AVPlayerItem *playerItem;
@property (nonatomic, strong) AVPlayerLayer *avlayer;
@property (nonatomic, strong) NSHTTPURLResponse *response;
@property (nonatomic, strong) NSMutableArray *pendingRequests;


/**
    Startup a Video
 */
- (void)startVideo
{
    self.vidAsset = [AVURLAsset URLAssetWithURL:[self videoURLWithCustomScheme:@"streaming"] options:nil];
    [self.vidAsset.resourceLoader setDelegate:self queue:dispatch_get_main_queue()];
    self.pendingRequests = [NSMutableArray array];

    // Init Player Item
    self.playerItem = [AVPlayerItem playerItemWithAsset:self.vidAsset];
    [self.playerItem addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew …
Run Code Online (Sandbox Code Playgroud)

ios avplayer avplayeritem

15
推荐指数
1
解决办法
5987
查看次数

标签 统计

avplayer ×1

avplayeritem ×1

ios ×1