【发布时间】:2025-11-27 13:55:01
【问题描述】:
我使用TextureView 和MediaPlayer 作为ListView 中的一个元素。当用户向下/向上滚动并且视频消失时
从屏幕上我想在某个地方继续播放它,比如说右下角。
我使用相同的TextureView,只需从列表项中提取它并添加到主布局。 MediaPlayer 也一样。
这样TextureView 就会被销毁并重新创建。
问题是 - 当我将表面设置为播放器时,滚动在半秒时冻结。 任何帮助表示赞赏。
我的onSurfaceTextureAvailable:
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width,
int height) {
Surface s = new Surface(surface);
mPlayer.setSurface(s);
}
【问题讨论】:
-
您是否进行了方法分析跟踪以查看那半秒的去向?
-
MediaPlayer._setVideoSurface()需要 272.5 毫秒
标签: android android-listview android-mediaplayer textureview