Ios 当应用程序转到后台时,如何取消Everyplay SDK录制?

Ios 当应用程序转到后台时,如何取消Everyplay SDK录制?,ios,iphone,video-capture,everyplay,Ios,Iphone,Video Capture,Everyplay,我正在使用Everyplay SDK在游戏中录制视频。我观察到,当everyplay录制视频并且应用程序使用iPhone的home按钮进行后台/暂停时,everyplay会暂停录制,并在应用程序返回前台时恢复录制。每当用户暂停应用程序时,我想完全停止录制,并且录制不应在预先停止时再次开始 我打电话来 [[[Everyplay sharedInstance] capture] stopRecording]; 录制时,我的应用程序收到UIApplicationWillResignActiveNot

我正在使用Everyplay SDK在游戏中录制视频。我观察到,当everyplay录制视频并且应用程序使用iPhone的home按钮进行后台/暂停时,everyplay会暂停录制,并在应用程序返回前台时恢复录制。每当用户暂停应用程序时,我想完全停止录制,并且录制不应在预先停止时再次开始

我打电话来

[[[Everyplay sharedInstance] capture] stopRecording];
录制时,我的应用程序收到UIApplicationWillResignActiveNotification,但没有帮助。Everyplay在激活时自动挂起并重新启动


如何才能完全停止录制?

您似乎需要等待录制线程完全停止。您还必须在AppDelegate的applicationWillResignActive方法中执行停止操作

- (void)applicationWillResignActive:(UIApplication *)application {
    [[[Everyplay sharedInstance] capture] stopRecording];
    while([[[Everyplay sharedInstance] capture] isRecording]) {
        NSLog(@"Waiting for recording thread to stop.");
    }
...

您是否尝试停止AppDelegate的applicationWillResignActive方法中的每个播放?这将保证在Everyplay收到UIApplicationWillResignActivityfication之前调用stop,因为在通知之前调用应用程序委托挂起/恢复方法。不,我没有尝试过。当收到UIApplicationWillResignActivityNotification NSNotification时,我正在尝试停止视图控制器中的录制。我现在就去试试。好的。我已经再次测试了这一点,并尝试停止AppDelegate的applicationWillResignActive方法中的每个播放录制。结果是一样的,即当应用程序重新激活时自动恢复录制。我也测试了它,你是对的。然而,我找到了解决问题的方法。我用了一种不同的方法来解决这个问题。当我的应用程序出现在前台时,我创建了一个NSTimer(持续1秒),并反复检查录制是否开始。如果它开始录制,我会显式停止并使计时器无效。如果我需要开始录制,如果计时器仍在运行,我将使其无效,然后开始录制。不知道我的方法是好是坏,但工作正常。Everyplay 1.7.2包含与暂停时暂停/恢复行为相关的修复。while循环或计时器破解可能不再需要。Everyplay是否会在应用程序进入后台时自动取消录制,或者我是否需要为此添加一些代码?我已经将Everyplay SDK升级到1.7.2(尚未对代码进行任何更改),但我的计时器黑客仍在停止恢复的录制。如果您在挂起时不手动停止或暂停,Everyplay将在从后台返回时继续录制。是的!当应用程序恢复时,似乎没有开始录制。我的计时器黑客现在正在停止我的实际(有意)记录后恢复。