13

我有一个位于 scrollView 内的 VideoView。当我滚动 scrollView 时,VideoView 不会随之滚动。就好像它的位置是固定的一样。如何通过滚动滚动视图中的所有其他元素正确滚动 VideoView?

4

3 回答 3

12

显示器通常分为两条流水线

  • 帧缓冲管道 - 这是显示所有图形的地方。所有的 UI 显示元素都进入这个管道
  • 视频缓冲区管道 - 这是您的视频数据被转移到的地方。

现在,当您声明表面视图时,您会在 UI 中占用一些屏幕空间,说明这是显示视频的位置。因此,所有其他 UI 元素将无法占据该空间。

当滚动发生时,您的表面视图确实会根据滚动事件向上或向下移动,但问题是视频缓冲区管道不关心帧缓冲区管道中发生了什么,它继续将视频数据填充到它所在的空间中被初始化。

所以到目前为止你不能在android中滚动视频..

于 2011-08-26T06:22:55.150 回答
7

Romain Guy 在这个Android 问题中说:

这是一个已知的限制VideoView。您应该在 Android 4.0 及更高版本中使用 TextureView 。

于 2012-09-10T17:34:55.170 回答
0

您可以将视频视图放在布局内,并在其上放置一个空视图。

    <RelativeLayout
        android:id="@+id/lay_live_video"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:visibility="visible" >

        <VideoView
            android:id="@+id/videoview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true" />

        <View
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@android:color/transparent" />
    </RelativeLayout>

此代码可以在您的滚动视图中。

对不起我的英语,我正在学习;)

于 2013-05-31T19:20:58.047 回答