1

我们使用 GPUImageMovie 解码带有嵌入掩码的 MP4 压缩视频。

如果用户在视频解码期间按下主页按钮的问题 - 应用程序因 OpenGL 陷阱而崩溃。iOS 不允许在后台使用 OpenGL。

有没有办法告诉 GPUImageMovie 立即停止解码,包括视频线程?

4

1 回答 1

1

您应该在处理影片的视图控制器中监听 UIApplicationWillResignActiveNotification 和 UIApplicationWillEnterForegroundNotification:

// handles the user pressing the home or power button while the camera is onscreen
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(didResignActive:)
                                             name: UIApplicationWillResignActiveNotification
                                           object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(willEnterForeground:)
                                             name:UIApplicationWillEnterForegroundNotification
                                           object:nil];

然后你应该添加适当的方法来响应通知:

-(void) didResignActive: (NSString *) notification {
    //stop processing the movie
}

-(void) willEnterForeground: (NSString *) notification {
    // start processing the movie
}

我很确定您可以通过调用[movie startProcessing];和停止处理来开始处理,[movie endProcessing];但我并不肯定。

于 2013-11-21T20:39:53.160 回答