【问题标题】:prevent audio recording while screen recording in Android apps在 Android 应用程序中进行屏幕录制时阻止音频录制
【发布时间】:2017-10-03 08:19:25
【问题描述】:

我正在开发一个安全应用程序,我正在限制另一个应用程序记录我的应用程序的时刻(如视频)。

我想我已经按照here 的说明限制了我的应用程序的屏幕捕获(屏幕截图和视频录制),但我无法限制我的应用程序视频的音频。

   @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
    setContentView(R.layout.activity_main);
    playVideo();
    //callAPI();
}

截屏后我看不到视频(显示黑屏),但我可以听到音频。

请帮助我摆脱困境。

提前致谢

【问题讨论】:

  • 发布你到目前为止尝试过的代码
  • 在那个链接中他们只提到了视频。我能做到。但我的问题是如何防止录音
  • @akhilesh0707 他不是问关于屏幕捕捉的问题。他问的是关于声音捕捉的问题
  • 请检查这个答案。我得到了解决方案。 stackoverflow.com/a/46659636/3879847

标签: android security audio video video-capture


【解决方案1】:

您必须首先检测到录制开始

您可以通过注册显示监听器来实现此目标


 val displayManager = getSystemService(Context.DISPLAY_SERVICE) as? DisplayManager
        displayManager?.registerDisplayListener(listener, null)
       

    val listener = object : DisplayManager.DisplayListener {
        override fun onDisplayChanged(displayId: Int) {
            
        }

        override fun onDisplayAdded(displayId: Int) {
            
            // here stop video player 
        }

        override fun onDisplayRemoved(displayId: Int) {
          
        }
    }

FLAG_SECURE将使屏幕录制记录为空白屏幕

提示:这种方式只有在活动处于前台

时开始录制时才有效

更新 1

下一个解决方法将适用于 android 10 之前的大多数第三方录音应用:

通过使用 AudioManager静音麦克风,因为这些应用使用麦克风

【讨论】:

  • 工作但在屏幕录制应用程序在您的应用程序运行和前台运行时开始录制,否则它没有效果
  • 感谢您的回复。可能它可以与外部录音机一起使用内置录音机呢?我们从顶部菜单开始录制?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多