播放器实现

播放器实现

变播便下

播放内部状态

//    如果资源加载比较慢 会导致不播放音频
    AVPlayer *player = [AVPlayer playerWithURL:url];
    [player play]; 

另一种方式 KVO监听资源组织状态

  AVURLAsset * asset = [AVURLAsset assetWithURL:url];
    AVPlayerItem *item = [AVPlayerItem playerItemWithAsset:asset];
//    当资源的组织者 告诉我们资源组织好了再播放
    AVPlayer *player = [AVPlayer playerWithPlayerItem:item];

播放 暂停 快进快退 倍速 静音 下载进度

播放器事件 数据提供

状态

通过通知

播放磁盘缓存

拦截系统加载进行缓存
关于网络音频的加载 调用代理相关方法 进行加载的
拦截时 需要重新修改它的代理方法就可以

- (BOOL)resourceLoader:(AVAssetResourceLoader *)resourceLoader shouldWaitForLoadingOfRequestedResource:(AVAssetResourceLoadingRequest *)loadingRequest
    [dataRequest respondWithData:[filedata subdataWithRange:NSMakeRange((NSUInteger)startOffset- self.task.offset, (NSUInteger)numberOfBytesToRespondWith)]];

实现边下边播

你可能感兴趣的:(播放器实现)