[英]prevent audio recording while screen recording in Android apps
我正在开发一个安全的应用程序,我正在限制另一个应用程序来记录我的应用程序的时刻(如视频)。
该认为我限制了我的应用程序的屏幕捕捉(双屏幕截图和视频录制)的规定在这里,但我不能能够限制我的应用程序的视频的音频。
@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();
}
屏幕捕获后,我无法看到视频(显示黑屏),但我可以听到音频。
请帮助我摆脱这种情况。
提前致谢
在活动中使用“安全标志”。 安全标志可防止屏幕记录捕获等。
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,WindowManager.LayoutParams.FLAG_SECURE);
您必须首先检测到录制已开始
您可以通过注册显示侦听器来实现此目的
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将使屏幕录制记录一个空白屏幕
提示:这种方式仅在活动处于前台时开始录制时才有效
下一个解决方法将适用于 android 10 之前的大多数第三方录制应用程序:
通过使用AudioManager使麦克风静音,因为这些应用程序使用麦克风
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.