Android錄製視訊的全面屏適配

山有木xi發表於2020-12-20

在Android錄製視訊的功能上,之前解決了Android8.0以上系統不允許應用在使用者不知情的情況下在後臺執行操作,按常理來講應該是沒有什麼問題了,但是最近部分機子無法支援錄製,而且會異常,開啟log檢視後發現問題是出現在

mediaRecorder?.prepare()

而查閱大量資料給出的解釋是錄製適配需要設定解析度,如果解析度不適合就是導致prepare異常報錯

而我在錄製前設定的解析度是獲取的手機的解析度,將其填入setVideoSize,在試過了許多方法都無效的情況下,抱著死馬當做活馬醫的心態,我把setVideoSize註釋掉,然後發現居然可以正常錄製適配了,但是錄製的適配只有螢幕的一小部分,那就說明就是解析度的問題,可是解析度是獲取的手機的解析度,怎麼會出現這種問題呢

於是我列印出了獲取到的手機解析度,發現出問題的機子,獲取到的解析度都少了一截,以紅米k30為例子,紅米k30官方給出的解析度是2400X1080,而我獲取到的解析度是2175X1080,少了一截,那我將解析度改為2400X1080呢?還是報錯,那調低呢,2100X1080,居然正常了

在我一臉疑惑的時候,我突然發現,出現異常的機子都是異形屏,也就是劉海屏,水滴屏,挖空屏,所以在錄製的稍後解析度應該減去statubar的解析度就可以正常錄製適配

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2743767/,如需轉載,請註明出處,否則將追究法律責任。

相關文章