【发布时间】:2014-02-10 15:55:11
【问题描述】:
我有一个列表视图。列表视图中的每个列表项都包含一个表面视图、一个图像视图和按钮。最初,surfaceview 的可见性将消失。只有图像视图和按钮可见。
一旦用户点击 imageview 或 SurfaceView 可见的按钮,媒体播放器就会被初始化,它将开始在 SurfaceView 上播放视频。 当用户向上和向下滚动时,表面视图的可见性再次改变(消失)。一次只有一个表面视图可见。
当用户触摸任何列表项时,它会检查任何其他媒体播放器是否已经存在,如果存在,它将被释放,并使用新的表面视图实例初始化新媒体播放器。
这很好用。但问题是
释放已经存在的媒体播放器和初始化新的媒体播放器需要时间(主要在方法 mediaplayer.prepareasyn() 和 mediaplayer.start() 之间)。 如果轻按列表项并慢慢移开我的手,它工作正常...否则如果轻按速度非常快,它不会播放视频,只有表面视图可见。
目前的解决方案
我尝试在这两种方法之间应用后延迟,效果很好。我想知道这是否是这样做的有效方法。或者有没有其他方法可以让我更快地做出反应。
【问题讨论】:
-
能否分享一下如何在listview中播放视频的示例代码或示例项目?
-
@keybee 如果您的应用是 4.1 及以上版本,您可以毫无问题地纹理视图
-
嘿@PreethiRao 你解决了吗?你能分享一些相同的代码吗?
-
@PreethiRao 我需要与此主题相关的帮助。?
-
@AtifAbbAsi 是的
标签: android listview media-player surfaceview