【问题标题】:Play video in Android listview在 Android 列表视图中播放视频
【发布时间】:2014-11-13 05:04:31
【问题描述】:

我正在尝试在我的列表视图中播放视频,就像 Vine 或 Instgram 一样。我一直在尝试将 TextureView 与媒体播放器一起使用,除了将 TextureView 附加到媒体播放器时,我遇到了 GetView 方法没有正确重用纹理视图的问题。在我的列表中向下滚动时,纹理视图会呈现一些旧的不正确视频。

有谁知道如何在 ListViews 中播放视频(不使用 VideoView !!!)?

【问题讨论】:

  • 请发布您的代码
  • 你确定不是 gif 图片?
  • 这些“旧的不正确”视频还在播放,还是只是最后一帧?是什么让它们不正确——应该播放不同的视频吗?如果是这样,新视频是在其他地方播放,还是根本不播放?
  • “旧不正确”视频主要是向下滚动后在前一行/顶行播放的视频。发生这种情况是因为我在适配器中重用了纹理视图和媒体播放器,以避免为每个列表项膨胀新的纹理视图。然而,重用纹理视图和媒体播放器似乎不是一个好的解决方案,我可能不得不为每个视频扩充一个新的纹理视图并关联一个新的媒体播放器。我认为这是要走的路,但有人认为有办法在列表视图中重用媒体播放器和纹理视图吗?

标签: android android-listview android-video-player textureview


【解决方案1】:

只是想给你建议。

您可以在 listview 项目中使用 WebView 并使用 javascript 来播放视频。你可以在 html 上找到 javascript 播放

http://www.w3schools.com/tags/av_prop_autoplay.asp

希望我的建议对你有所帮助。

【讨论】:

    【解决方案2】:

    找到了解决这个问题的方法。我需要将 TexutreView 与 MediaPlayer 一起使用,并且我需要将 TextureView 动态添加到列表中的每个项目中。在动态添加新的之前,我还需要确保删除之前附加到列表中项目的任何先前的 TexutreViews。此外,我需要确保在列表视图中一次只播放一个 MediaPlayer,以避免导致任何奇怪的行为(即视频可以在错误的位置播放)。

    【讨论】:

    • 能否也提供上述描述的代码参考,对您有很大帮助
    【解决方案3】:

    您确实需要使用 TextureView。实际上,您需要解决的问题很少。

    请在此处找到扩展答案:

    Run media file in CardView layout

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 2012-11-28
    • 2014-02-10
    相关资源
    最近更新 更多