录制视频时,Unity3d会在接到电话时冻结

时间:2017-03-27 13:07:18

标签: java c# android unity3d google-play-games

我在Android 7.0上的Unity中使用Google Play服务新视频录制时出现问题。

当用户在录制视频时接到电话时,视频将停止录制,然后在电话呼叫完成后,屏幕将变黑,直到用户杀死游戏为止。

无论出于何种原因,只有在用户在游戏中进行了身份验证时才会发生这种情况,如果不是,那就太酷了。

我有一个我可以共享的源代码(私下),如果需要请与我联系。

使用:

  • Google Play SDK 10.0.1
  • Unity 5.4.3p2
  • Google Play for unity 0.9.35

如何重现:

  1. 使用C#进行身份验证(重要)
  2. 使用本机Java库创建API客户端并开始录制(Unity插件)
  3. 开始录制
  4. 拨打电话,接听电话然后完成
  5. 请注意,屏幕现在是黑色的,你必须杀死游戏。

    // C# code
    GooglePlayGames.PlayGamesPlatform.Instance.Authenticate((bool success) =>
    {
    Debug.LogWarning("LOGGED IN VIA AUTHENTICATE");
    });
    
    // Java Native code
    GoogleApiClient client = GoogleApiClient.Builder(m_activity).addApi(Games.API).
    addScope(Games.SCOPE_GAMES).
    build();
    
    Intent overlay=  Games.Videos.getCaptureOverlayIntent(client);
    this.startActivityForResult(overlay, 777);
    
  6. 同样,奇怪的是,当游戏没有使用Authenticate()调用时,一切都很好,当它有软锁时。不确定是否由于GPGS使用C#和Java本机代码,因为C#GPGS还不支持屏幕录制。

0 个答案:

没有答案