iOS的AVPlayer放缓

我正在使用AVPlayer在我的项目中播放在线video。 video播放良好。 现在我想减less/增加video的fps。 以下是我正在使用的代码:

self.asset = [AVAsset assetWithURL:self.videoUrl]; // the video player self.player = [AVPlayer playerWithURL:self.videoUrl]; self.player.actionAtItemEnd = AVPlayerActionAtItemEndNone; self.playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player]; self.playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerItemDidReachEnd:) name:AVPlayerItemDidPlayToEndTimeNotification object:[self.player currentItem]]; self.playerLayer.frame = CGRectMake(0, 0, self.view.frame.size.width, self.myPlayerView.frame.size.height); [self.myPlayerView.layer addSublayer:self.playerLayer]; - (void)playerItemDidReachEnd:(NSNotification *)notification { AVPlayerItem *p = [notification object]; [p seekToTime:kCMTimeZero]; } 

现在应该如何减less/增加在线video的fps?

你可以做一些像,

  -(float)getFrameRateFromAVPlayer { float fps=0.00; if (self.queuePlayer.currentItem.asset) { AVAssetTrack * videoATrack = [[videoAsset tracksWithMediaType:AVMediaTypeVideo] lastObject]; if(videoATrack) { fps = videoATrack.nominalFrameRate; } } return fps; } 

要么

 AVPlayerItem *item = AVPlayer.currentItem; // Your current item float fps = 0.00; for (AVPlayerItemTrack *track in item.tracks) { if ([track.assetTrack.mediaType isEqualToString:AVMediaTypeVideo]) { fps = track.currentVideoFrameRate; } } 

希望这会帮助:)

AVPlayer允许您设置播放的当前速率。 基本上,它接受一系列的可能性值来控制当前的AVPlayerItem,比如播放慢进,快进或者负值的反转。 正如文件中所说的,你应该检查当前项目是否可以支持这些播放状态

在这里输入图像说明

请尝试检查出来。 链接供您参考https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVPlayer_Class/index.html#//apple_ref/occ/instp/AVPlayer/rate