【问题标题】:Display playback controls in AVPlayer在 AVPlayer 中显示播放控件
【发布时间】:2016-04-05 20:22:39
【问题描述】:

我可以播放视频,但看不到控制按钮,例如暂停和与视频互动的滑块。询问了类似的查询(see here),但我没有遵循答案。

【问题讨论】:

  • 我建议使用apple documentation 中提供的很棒的教程和演示,它包含您正在寻找的所有控件
  • 谢谢Dipen,我看过这个例子,它非常有用,但它没有使用使用系统播放控件的AVPlayerViewController。
  • 它不是 AVPlayerViewController,它是纯粹的 AVPlayer 示例。请再次检查。
  • 是的,这就是我的意思,它是纯 AVPlayer 示例。我想要一个带有系统播放控件的控件(使用 AVPlayerViewCntroller 完成),这在WWDC 2014 中有很好的解释
  • 那么你应该使用MPMoviePlayerController 那是唯一能提供你想要的结果的。

标签: ios objective-c avfoundation avplayer avplayerviewcontroller


【解决方案1】:

我得到了描述的答案。 See here。要显示系统播放控件,如播放、暂停按钮等,我们需要 AVPlayerViewController。 下面是 Objective-C 中的实现。

@interface ViewController ()
@property (strong,nonatomic) AVPlayerViewController *avPlayerViewController;
@property (strong,nonatomic) AVPlayer *avPlayer;
@end

    - (void)viewDidLoad {
    [super viewDidLoad];
    //URL for the file. It can be over HTTP or local file URL. 
    NSURL *folderURL=[NSURL fileURLWithPath:uploadFolderLocation];
    NSURL *movieURL=[folderURL URLByAppendingPathComponent:@"video.mp4"];

    self.avPlayer = [AVPlayer playerWithURL:movieURL];

    self.avPlayerViewController=[[AVPlayerViewController alloc]init];
    self.avPlayerViewController.player=self.avPlayer;    
}

- (IBAction)playButtonTapped:(id)sender {
    //Trigger the video to play

    //AVPlayer object can direct its visual output to AVPlayer. AVPlayerVC is a AVPlayerViewController. You can add it via objects in bottom-right corner.
    AVPlayerVC *avPLayerVC=[[AVPlayerVC alloc] init];
    avPLayerVC.player=self.avPlayer;

    [self addChildViewController:self.avPlayerViewController];
    [self.view addSubview:self.avPlayerViewController.view];
    self.avPlayerViewController.view.frame=self.view.frame;
    [self.avPlayerViewController.player play];
   }

带有控制按钮的视频图片:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    • 2016-12-20
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    相关资源
    最近更新 更多