【发布时间】:2015-04-06 00:30:35
【问题描述】:
我曾尝试在 AVPlayer 和 MPMoviePlayerController 上播放 500 KB 的视频,但它们都有一些令人讨厌的延迟。 AVPlayer 和 MPMoviePlayerController 都显示黑屏 2-3 秒,然后开始播放视频。好烦啊,怎么这么长的视频才开始?我该如何解决?
//Movie Player Code
_moviePlayerVC = [[MPMoviePlayerViewController alloc] initWithContentURL:video];
_moviePlayerVC.moviePlayer.view.userInteractionEnabled = YES;
_moviePlayerVC.moviePlayer.view.multipleTouchEnabled = YES;
_moviePlayerVC.moviePlayer.repeatMode = MPMovieRepeatModeOne;
_moviePlayerVC.moviePlayer.controlStyle = MPMovieControlStyleNone;
_moviePlayerVC.moviePlayer.scalingMode = MPMovieScalingModeFill;
_moviePlayerVC.moviePlayer.view.frame = self.frame;
[_moviePlayerVC.moviePlayer setShouldAutoplay:YES];
_moviePlayerVC.view.frame = self.frame;
[self addSubview:_moviePlayerVC.view];
//AVPlayer Code
AVAsset *asset = [AVAsset assetWithURL:video];
AVPlayerItem *item = [[AVPlayerItem alloc] initWithAsset:asset];
_player = [[AVPlayer alloc] initWithPlayerItem:item];
_player.actionAtItemEnd = AVPlayerActionAtItemEndNone;
AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:_player];
layer.frame = self.frame;
layer.backgroundColor = [UIColor clearColor].CGColor;
[layer setVideoGravity:AVLayerVideoGravityResizeAspectFill];
【问题讨论】:
-
尝试了您的 AVPlayer 代码,但屏幕上没有出现任何内容。您的代码中是否缺少 addsubview 或类似语句?
标签: ios objective-c video mpmovieplayercontroller avplayer