我在我的应用程序中使用AVPlayer而不是MPMoviePlayerController,因为我想将播放器作为子层。 但是我需要控制,如播放,暂停,搜索和全屏。如何在AVPlayer中获得该按钮? 这就是我放置播放器的方式:
AVURLAsset *avasset = [[AVURLAsset alloc] initWithURL:URL1 options:nil];
AVPlayerItem *item = [[AVPlayerItem alloc] initWithAsset:avasset];
player = [[[AVPlayer alloc] initWithPlayerItem:item]retain];
playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
CGSize size = self.view.bounds.size;
float x = size.width/2.0-187.0;
float y = size.height/2.0 - 125.0;
playerLayer.frame = CGRectMake(x, y, 474, 320);
[playerLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill];
[self.view.layer addSublayer:playerLayer];
[player play];
答案 0 :(得分:7)
您必须提供自己的按钮。
对于play
和pause
,AVPlayer中有直接的API。
全屏......好......你知道你在哪里画画:你只需要调整你的UIWindow和相应的UIView&图层为全尺寸。
对于搜索,您确实使用seekToTime:
答案 1 :(得分:6)
供将来参考iOS 8 AVKit有AVPlayerViewController类可用于包装AVPlayer并具有标准MPMoviePlayerController类控件。
AVPlayerViewController * filePlayerViewController = [AVPlayerViewController alloc];
//Show the controls
filePlayerViewController.showsPlaybackControls = true;
AVPlayer * filePlayer = [AVPlayer playerWithURL:[NSURL fileURLWithPath:self.videoFile.localURL]];
filePlayerViewController.player = self.filePlayer;