Android螢幕錄製時怎樣在錄屏中去掉懸浮窗

2021-09-27 11:34:44 字數 606 閱讀 1363

android支援多個螢幕:主顯,外顯,和虛顯,虛顯就是我們要說的virtualdisplay。virtualdisplay的使用場景很多,比如錄屏,wfd顯示等。其作用就是抓取螢幕上顯示的內容。virtualdisplay抓取螢幕內容,其實現方式有很多。在api中就提供了imagereader進行讀取virtualdisplay裡的內容。

而錄屏是通重載入su***ceflinger畫布,通重載入中形成的虛顯而形成的,所以我們需要在畫布虛顯中懸浮窗的view圖層去掉,首先,需要清楚你懸浮窗的view被定義的名字,比方說我定義懸浮窗的view名字為"floatball",那麼我就可以這樣修改:

frameworks/native / services/su***ceflinger/su***ceflinger.cpp

void su***ceflinger::rebuildlayerstacks()  

} else

//-------------end---------------

} else

} else

這樣在我們錄屏的時候就可以不將懸浮窗不錄入進去了

參考文章:

android 實現螢幕錄製功能

本庫是基於mediaprojection封裝的手機螢幕錄製開源庫,並提交到jcenter,方便大家使用 使用方法 module中的build.gradle中的depandencies中新增依賴即可,如下 dependencies目前最新的版本是1.0.1,僅僅是朋友用了用,如果大家使用過程中有什麼意...

使用android自帶的螢幕錄製功能

這一功能目前主要是面向開發者的,普通使用者拿著手機根本無從開啟,必須連線到電腦上,執行安卓開發者工具,然後通過命令列執行 adb shell screenrecord sdcard movie.mp4 在錄影過程中,可以隨時按下ctrl c快捷鍵終止。該命令還支援一些附加引數,比如控制位元速率的bi...

Android 5 0 螢幕錄製 截圖

android 5.0之後的新api,平時很少用到這裡記錄下 1.獲取系統服務 mmediaprojectionmanager mediaprojectionmanager getsystemservice context.media projection service if mmediaproj...