ios - 视频 iOS 11/xcode 9

标签 ios objective-c xcode

我使用此代码开始播放视频(不是全屏)。人们可以按'全屏' 按钮切换到全屏。然而,在 iOS 11 测试版中,视频在全屏模式下变黑,我无法反转它或让它再次播放。

是否有一个简单的修复程序来更新我的 iOS 11 代码?或者有谁知道在哪里可以找到这个样本。我搜索过,但还没有找到任何东西。 非常感谢,梅格

-(void)viewDidLoad {

       [super viewDidLoad];

    // grab a local URL to our video
    NSURL *videoURL = [[NSBundle mainBundle]URLForResource:@"pres 2" withExtension:@"m4v"];

    // create an AVPlayer
    AVPlayer *player = [AVPlayer playerWithURL:videoURL];

    // create a player view controller
    self.controller = [[AVPlayerViewController alloc]init];
    controller.player = player;
    [player play];


    // show the view controller
    [self addChildViewController:controller];
    [self.view addSubview:controller.view];
    controller.view.frame = CGRectMake(0,25, 750, 422);

}


-(void)playerItemDidReachEnd:(NSNotification *) notification{
    //remove the player

}


-(void) viewWillDisappear:(BOOL)animated{

    [super viewWillDisappear:animated];

    [controller.player replaceCurrentItemWithPlayerItem:nil];
}

-(void) viewDidDisappear:(BOOL)animated{

    [super viewDidDisappear:animated];
    [controller.player replaceCurrentItemWithPlayerItem:nil];

}

最佳答案

@Oliver 胡 嗨,奥利弗,Apple 给了我一个很好的答复。它不是错误,而是代码中缺少的一行。还有前面提到的调用Allen应该加入viewdidload!这是 Apple 的回答:

如果你需要在 view controller 被 dismissed 但没有被释放时拆解,你应该将调用包装在 -[UIViewController isBeingDismissed] 中,像这样:

-(void) viewWillDisappear:(BOOL)animated{

   [super viewWillDisappear:animated];

   if ([self isBeingDismissed])
  {
   [controller.player replaceCurrentItemWithPlayerItem:nil];
   }
}

-(void) viewDidDisappear:(BOOL)animated{

   [super viewDidDisappear:animated];
   if ([self isBeingDismissed])
  {
   [controller.player replaceCurrentItemWithPlayerItem:nil];
   }    
}

此外,您还应该在嵌入时调用 [controller didMoveToParentViewController:self]

关于ios - 视频 iOS 11/xcode 9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45036171/

相关文章:

ios - 在 Objective-C 中混合 block 和委托(delegate)

ios - 将 ImagePicker 从 "Use Photo"更改为“保存照片

ios - 如何使用标签栏和导航 Controller 提高内存效率?

ios - 当没有文本时,textView.text 属性不为 nil

ios - Objective c post 请求不发送数据

iOS:PNG 文件无法打包到 .app 包中

ios - 是否可以在 iOS 推送通知的标题文本内显示图像?

java - iOS + appium java 客户端 : Long press TouchAction does not work?

iphone - 使用 Cocoapods 时忽略 Xcode 警告

ios - xCode - Google Cardboard 构建失败