1. android截屏、錄屏工具
有時候會用到顏色拾取器這樣的東西來查看屏幕上的顏色值,一直是用Pixolor這個軟體來看顏色的;很方便,點哪裡顯示哪裡,也沒有延遲,以為是什麼黑科技;我注意到一個細節,如果只是切換屏幕,顏色拾取器不會更新,只有移動拾取器才更新選中;可以確定是截屏來實現的了,那就簡單了,截屏獲取像素點的顏色值就好了
網上看了一下,截屏大概分為保存View為圖像和調用錄屏服務兩種辦法,錄屏是比較好的辦法,可以在APP外截屏,所以簡單的封裝了一下
Step 1. Add the JitPack repository to your build file
Step 2. Add the dependency
主要分為兩步,第一步是開啟錄屏;第二步就可以直接獲取截屏,返回Bitmap
截圖的過程錄屏是開啟的,錄屏開啟就可以進行截屏,操作完需要關閉錄屏
截屏過程很快,效果很好
如果是APP外截屏則開啟懸浮窗服務,可以通過操作懸浮窗進行截屏
參考文章: Android 截屏方式整理 、 Android錄屏(5.0+)
1.初始化一個 MediaProjectionManager
2.創建並啟動 Intent
3.在 onActivityResult 中拿到MediaProjection
4.設置VirtualDisplay將圖像和展示的View關聯起來。一般來說我們會將圖像展示到SurfaceView,這里為了為了便於拿到截圖,我們使用ImageReader,他內置有SurfaceView。
5.通過ImageReader拿到截圖
6.注意截屏之後要及時關閉VirtualDisplay ,因為VirtualDisplay 是十分消耗內存和電量的。
錄屏和截屏差不多,只是截屏的時候只是設置了一個ImageReader去獲取圖像數據,而錄屏是設置一個 SurfaceView 去接收內容,獲取視頻流,然後通過 MediaCodec 來實現視頻的硬編碼,然後保存為視頻文件
初始化錄屏的大小和碼率
開始錄屏,設置輸出文件
停止錄屏
參考文章: Android視頻錄制--屏幕錄制
1.在 AndroidManifest 中添加許可權,Android 6.0 加入的動態許可權申請,如果應用的 targetSdkVersion 是 23,申請敏感許可權還需要動態申請
中間操作和截屏一樣,就是准備開啟錄屏
5.創建虛擬屏幕,這一步就是通過 MediaProject 錄制屏幕的關鍵所在, VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR 參數是指創建屏幕鏡像,所以我們實際錄制內容的是屏幕鏡像,但內容和實際屏幕是一樣的,並且這里我們把 VirtualDisplay 的渲染目標 Surface 設置為 MediaRecorder 的 getSurface ,後面我就可以通過 MediaRecorder 將屏幕內容錄制下來,並且存成 video 文件
6.錄制屏幕數據,這里利用 MediaRecord 將屏幕內容保存下來
2. android中關於接收攝像頭視頻流的問題懂的指點了思路
我個人結合自己的了解,談一點點個人的看法吧:
使用手機去查看交通、景點或是家裡裝的監控,與android關系不大,很多系統都可以實現。
交通、景點或是家裡裝的監控,可以通過網路協議,傳入網路伺服器,並且存儲在伺服器中,供隨時調用。
用戶使用終端,如電腦、手機等設備,按指定的方法進入到相應的伺服器,通過伺服器驗證,輸入用戶名和密碼,即可查看相應的內容。
前幾年,杭州交-警申請IP4,用於監控各交通路口的交通情況,實現的原理就是這樣的。
當然,除了使用互聯網,還可以通過一些特定波段的無線來實現,但原理都是一樣的。
至於說手機將這種視頻流顯示出來,就相對簡單多了,相當於播放網路視頻。
3. 有木有那個大俠做過android視頻通話,給說說具體思路···
android視頻通話實現流程,以 2 人間的實時視頻為例,主要流程如下圖:
簡單點說就是以下幾個步驟:
1 、登錄房間
用戶間進行實時視頻對話前,需要先登錄到同一個房間。
2、開始視頻通話
房間成員同意視頻通話後,開始走推流、拉流流程,以推送己方畫面和觀看對方畫面。
3 、結束視頻通話
視頻通話結束後的操作主要是停止推流、停止拉流、清理視圖、登出房間等,開發者可按需調用。
當然要快速實現視頻通話功能可以直接用zego的音視頻SDK,簡單直接。
4. android視頻流處理
《android逆向視頻》網路網盤資源免費下載
鏈接:https://pan..com/s/1W1NAE-AeKbz0bb6E4mdXfA
5. Android 如何實現攝像頭不進行預覽顯示,只獲取視頻流數據
好像是強制要求有預覽的,安全問題,比如偷窺什麼的所以不允許無預覽畫面的使用攝像頭
6. 為什麼有些應用不能截屏呢
當前界面涉及隱私內容不允許截屏,是因為對於一些涉及到隱私安全的界面,系統不允許截屏,原因是因為截屏的話可能會造成侵權的現象,因此無法截屏。
建議可以開啟飛行模式截屏或拿另一部手機拍照,在某些銀行、支付和社交媒體應用中,您可能無法截屏賬戶信息、密碼、交易記錄等敏感數據。此外,一些視頻流媒體服務如Netflix也限制了用戶將其內容進行截屏的能力,以防止未經授權的轉載和分享。
在操作系統級別上,iOS和Android都提供了類似的功能來限制對於一部分App無法進行屏幕錄制或者是截圖的操作。
截圖的方法
1、按鍵截屏+滾動截屏
最常用的截屏方式就是長按左側的下音量鍵+右側的電源鍵,即可截取當前顯示的畫面。如果你想要截取更長篇幅的畫面時,在屏幕下面會出現滾動截屏圖標,你按下滾動截屏圖標,當前頁面就會開始滾動,到達你想要截取的畫面時,松開即可停止。
2、滑動截屏
比較有趣的截屏方式是手勢滑動截屏,通過「設置-高級功能-手掌滑動截屏」,可以實現將手掌沿著手機邊緣向左或向右滑過屏幕來截圖。不用按鍵、不用點擊,只要拿手輕輕滑動即可截取自己想要的畫面。