【问题标题】:iOS 8 MPMoviePlayerPlaybackDidFinishNotification not workingiOS 8 MPMoviePlayerPlaybackDidFinishNotification 不起作用
【发布时间】:2014-09-22 19:42:59
【问题描述】:

我使用 Xcode 6 和 iOS 8 SDK。

如果视频无法播放,在启动 MPMoviePlayer 时。 MPMoviePlayerPlaybackDidFinishNotification 不起作用。

我参考这篇文章: [How to get an error description when playback fails on MPMoviePlayerController 但是iOS8不行。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MPFinished: ) name:MPMoviePlayerPlaybackDidFinishNotification object:self.MoviePlayer];

怎么做才能解决这个问题?谢谢。

【问题讨论】:

  • 您可以使用MPMoviePlayerDidExitFullscreenNotification 我认为这可能会解决您的问题
  • 我也有同样的问题。我相信这是一个 iOS 8 错误。我添加了一个 5 秒计时器,如果视频在此之前没有开始播放,我会显示错误并退出。这是一个可怕的 hack,但我目前拥有的唯一解决方案。

标签: ios8 mpmovieplayercontroller


【解决方案1】:

我遇到了同样的问题,我找到的唯一解决方案是将 MPMoviePlayerController 替换为 AVPlayerViewController(从 iOS 8 开始在 AVKit 框架中可用)。

【讨论】:

    【解决方案2】:

    确保“object”参数属于 MPMoviePlayerController 类而不是 MPMoviePlayerViewController。

    如果 self.MoviePlayer 是 MPMoviePlayerViewController,只需更改:

    [[NSNotificationCenter defaultCenter] addObserver:self
         selector:@selector(MPFinished:)
         name:MPMoviePlayerPlaybackDidFinishNotification
         object:self.MoviePlayer];
    

    到这里:

    [[NSNotificationCenter defaultCenter] addObserver:self
         selector:@selector(MPFinished:) 
         name:MPMoviePlayerPlaybackDidFinishNotification
         object:self.MoviePlayer.moviePlayer];
    

    发送通知的对象是self.MoviePlayer.movi​​ePlayer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-20
      • 2017-02-08
      • 2016-04-07
      • 2014-11-29
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多