如何手动更改ios中AV播放器的流媒体视频质量?

时间:2016-08-30 10:28:15

标签: ios video-streaming avplayer

我正在构建应用程序,其中streaming(默认iOS播放器)处理在线AV Player

我想为HD流媒体添加按钮,我该如何实现?

1 个答案:

答案 0 :(得分:0)

我找到的解决方案是确保底层AVAsset准备好在将其提供给AVPlayer之前返回基本信息,例如其持续时间。 AVAsset有一个方法loadValuesAsynchronouslyForKeys:,方便了:

AVAsset *asset = [AVAsset assetWithURL:self.mediaURL];
[asset loadValuesAsynchronouslyForKeys:@[@"duration"] completionHandler:^{
    AVPlayerItem *newItem = [[AVPlayerItem alloc] initWithAsset:asset];
    [self.avPlayer replaceCurrentItemWithPlayerItem:newItem];
}];

在我的情况下,URL是一个网络资源,而replaceCurrentItemWithPlayerItem:实际上会阻塞几秒钟等待此信息下载。