Im *_*mes 1 media android android-recyclerview
有没有办法audio/video在cardview布局中运行媒体文件()?我希望在a中video预览文件card layout,当用户点击卡片时,video/audio全屏播放并播放,就像Facebook的Feed一样.
Dan*_*okh 12
为了获得这种功能,您必须解决一些问题:
您不能VideoView在列表中使用,因为它正在扩展SurfaceView,如果播放打开并且用户开始滚动,则视觉效果看起来像是视频正在尝试捕捉滚动.因此,您需要一种VideoView基于其他东西的特殊功能,例如TextureView.
管理视频播放器状态:为了开始/停止播放,我们需要调用以下几种方法MediaPlayer.class:
setDataSource()
prepare()
start()
stop()
reset()
release()
Run Code Online (Sandbox Code Playgroud)
这些方法是对硬件的直接调用,硬件响应可能需要一些时间.所以我们不能在UI线程中调用它.它会阻止它超过16毫秒,因此用户将看到一个滞后的滚动列表.我们必须从后台线程调用它.
您需要在运行时跟踪屏幕上的哪个视图处于活动状态,并且应该播放此视图.
我创建了一个名为VideoPlayerManager的开源项目.
它已完整记录,并在演示应用程序中处理了一些基本流程.它还没有为生产做好准备,但是如果你需要一些如何获得这种功能的参考,你可以在那里找到它.
PS关于CardView:这是一个常规视图.您可以将视频播放器放入其中并在CardView中播放视频.
| 归档时间: |
|
| 查看次数: |
1593 次 |
| 最近记录: |