使用GPUImageMovie嵌入掩码解码MP4压缩视频。
如果用户在视频解码期间按下Home按钮,则问题是该应用程序因OpenGL陷阱而崩溃。 iOS不允许在后台使用OpenGL。
有没有办法告诉GPUImageMovie立即停止解码,包括视频线程?
答案 0 :(得分: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];
处理,但我不是肯定的。