簡體   English   中英

帶有 exoplayer 的 Instabug 屏幕截圖顯示空白屏幕

[英]Instabug screenshot with exoplayer shows blank screen

當使用 Instabug 錯誤報告功能從 exoplayer 截取屏幕截圖時,它顯示空白屏幕,盡管視頻工作正常

截圖示例

Instabug目前不支持SurfaceView屏幕截圖捕獲,但是,通過將PlayerView的PlayerViewTexture_view而不是SurfaceView ,可以使屏幕捕獲功能與exoPlayer一起正常工作。 您可以使用以下xml屬性來實現。

app:surface_type="texture_view"

這取決於許多因素,其中之一就是視頻本身的內容。 看看這個錯誤https://github.com/google/ExoPlayer/issues/1033

您也可以嘗試使用此Android Take Surface View顯示黑屏的屏幕截圖

將表面類型從SurfaceView更改為TextureView

 fun getScreenShotFromView(view: View, activity: Activity) {
    activity.window?.let { window ->
        val bitmap = Bitmap.createBitmap(view.width, view.height, Bitmap.Config.ARGB_8888)
        val locationOfViewInWindow = IntArray(2)
        view.getLocationInWindow(locationOfViewInWindow)
        try {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                PixelCopy.request(
                    window,
                    Rect(
                        locationOfViewInWindow[0],
                        locationOfViewInWindow[1],
                        locationOfViewInWindow[0] + view.width,
                        locationOfViewInWindow[1] + view.height
                    ), bitmap, { copyResult ->
                        if (copyResult == PixelCopy.SUCCESS) {
                            callback(bitmap)                                
                        }
                    },
                    Handler()
                )
            }
        } catch (e: IllegalArgumentException) {
            // PixelCopy may throw IllegalArgumentException, make sure to handle it
            e.printStackTrace()
        }
    }
}

調用方法如下

getScreenShotFromView(binding.root,requireActivity())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM