【问题标题】:nsinvalidargumentexception' reason 'an avplayeritem cannot be associated with more than one instance of avplayer'nsinvalidargumentexception' 原因'一个 avplayeritem 不能与多个 avplayer 实例关联'
【发布时间】:2012-08-22 10:27:32
【问题描述】:

我正在使用

MPMoviePlayerController

为了播放视频,我使用自定义搜索栏来跳转视频。但是当我不断地向前和向后搜索时,应用程序崩溃并抛出以下错误:

nsinvalidargumentexception' reason '一个 avplayeritem 不能 与多个 avplayer 实例相关联

所以请提出建议。

谢谢

【问题讨论】:

  • 你每次跳跃时都在创建一个新的 avplayer 吗?并在您的问题中添加一些示例代码:)
  • 这里可能有同样的问题bit.ly/NGXMy3
  • 没有。我不是每次都创建 avplayer。它仅在视图加载时创建一次。

标签: iphone ios mpmovieplayercontroller avplayer


【解决方案1】:

遇到同样的问题,请在设置 SourceType 后尝试设置 ContentURL,如下所示,

moviePlayerController_ = [[MPMoviePlayerViewController alloc] init];
moviePlayerController_.movieSourceType = MPMovieSourceTypeStreaming;
[moviePlayerController_.moviePlayer setContentURL:url];

来源:devforums.apple.com/message/467199

【讨论】:

  • +1 这绝对解决了我的问题,但我应该指出,我的崩溃只有在我使用 MPMovieSourceTypeStreaming 时才会发生。如果我使用 MPMovieSourceTypeFile,那么我能够 initWithContentURL: 不会导致任何崩溃。
【解决方案2】:

有同样的经历。意识到movieSourceType 设置不正确。例如,movieSourceType 被设置为 MPMovieSourceTypeStreaming,而它应该是 MPMovieSourceTypeFile 用于嵌入在包中的电影。

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,在我的情况下,问题是我无法判断电影是文件还是流(URL 没有告诉),所以我将其设置为 MPMovieSourceTypeUnknown解决了这个问题。默认情况下它具有该值,但如果您开始播放任一类型的电影,它会在内部将类型更改为流或文件,如果您现在更改 URL 而不设置正确的类型或手动将类型设置回MPMovieSourceTypeUnknown,您会得到一个异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多