切换surface之后 释放老解码器创建新解码器参数name是解码器名称例如某个设备厂商的硬件解码器。返回false条件允许时直接通过setOutputSurface()把现有解码器切到新画面窗口继续复用它。返回true避开直接切换改为释放旧解码器再初始化新解码器。因为部分设备的解码器直接切换 Surface 会黑屏、卡住所以 Media3 提供了这个判断方法。override fun codecNeedsSetOutputSurfaceWorkaround(name: String): Boolean { return recreateDecoderOnSurfaceChange || super.codecNeedsSetOutputSurfaceWorkaround(name) }