[英]Android - Exoplayer shows blank screen instead of Playing video
[英]Instabug screenshot with exoplayer shows blank screen
當使用 Instabug 錯誤報告功能從 exoplayer 截取屏幕截圖時,它顯示空白屏幕,盡管視頻工作正常
Instabug目前不支持SurfaceView屏幕截圖捕獲,但是,通過將PlayerView的PlayerView
為Texture_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.