【问题标题】:dealloc MPMoviePlayer before new instance is being created在创建新实例之前 dealloc MPMoviePlayer
【发布时间】:2015-01-15 11:07:14
【问题描述】:

我的应用程序正在动态分配和实例化 MPMoviePlayer 类。问题:当创建第二个实例而第一个实例仍在播放视频时,应用程序崩溃了。

Error: *** Assertion failure in -[MPMoviePlayerClassNew _moviePlayerDidBecomeActiveNotification:], /SourceCache/MediaPlayer/MobileMusicPlayer-2770.3.5/SDK/MPMoviePlayerClass.m:1385
Exception: movie player <MPMoviePlayerControllerNew: 0x0000000> has wrong activation state (1)

我目前只是使用@try-@catch 来避免崩溃。

因为它是动态调用来实例化的,所以我无法在类中释放现有的 MPMoviePlayer 本身。

是否有可能在创建新实例之前释放类的所有对象?或者你知道我的问题的任何其他解决方案吗?

【问题讨论】:

  • 请分享一些代码,以便我们可以提供适当的帮助。

标签: ios objective-c instance mpmovieplayercontroller mpmovieplayer


【解决方案1】:

我猜你不想同时播放两个视频。您应该创建一个管理器来处理播放以及从一个文件到另一个文件的转换。

您将创建视频管理器对象的单个实例并创建类似的 api

-(BOOL)startPlayback:(NSString *)path;

经理还可以处理输出视图等。

现在,你用错了;)

【讨论】:

    猜你喜欢
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    相关资源
    最近更新 更多