Android :: VideoView внутри ScrollView - PullRequest
13 голосов
/ 30 ноября 2010

У меня есть VideoView, который находится внутри scrollView.Когда я прокручиваю scrollView, VideoView не прокручивается вместе с ним.Это как его положение зафиксировано.Как правильно прокрутить VideoView с помощью прокрутки всех других элементов в scrollView?

Ответы [ 3 ]

11 голосов
/ 26 августа 2011

Дисплей обычно делится на два конвейера

  • Конвейер буфера кадров - это место, где отображается вся ваша графика. Все элементы отображения пользовательского интерфейса входят в эту линию
  • конвейер видеобуфера - это то место, куда перенаправляются ваши видеоданные.

Теперь, когда вы объявляете вид поверхности, вы занимаете некоторое пространство экрана в пользовательском интерфейсе, говоря, что именно здесь будет отображаться видео. Таким образом, все остальные элементы пользовательского интерфейса не смогут занимать это пространство.

Когда происходит прокрутка, ваше представление поверхности будет действительно перемещаться вверх или вниз в зависимости от события прокрутки, но проблема в том, что конвейер видеобуфера не заботится о том, что происходит в конвейере буфера кадров, он продолжает заполнять видеоданные в пространство в котором оно было инициализировано с.

Так что на данный момент вы не можете прокрутить видео в Android ..

7 голосов
/ 10 сентября 2012

Ромэн Гай сказал в этой проблеме Android :

Это известное ограничение VideoView.Вместо этого вы должны использовать TextureView в Android 4.0 и выше.

0 голосов
/ 31 мая 2013

Вы можете поместить видео в окне макета с пустым видом на него.

    <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>

Этот код может быть внутри вашего прокрутки.

Извините за мой английский, я учусь;)

...