Android MediaPlayer无缝视频

时间:2014-06-17 05:46:28

标签: android video android-mediaplayer

我正在尝试使用原生MediaPlayer播放一系列视频文件,并且不能在它们之间产生任何黑色闪烁。

我意识到这个问题以前曾多次提出过,但这些问题大多是几年前的问题。典型的反应是在多个媒体播放器之间进行交换,这似乎不起作用。

我认为片段的广泛使用可能引入了一种新的解决方案,实际上我可以通过构建一堆片段来实现无缝过渡,同时可以看到多个SurfaceViews,并从堆栈顶部播放视频,但当然这不可扩展,因为整个播放列表需要在播放开始前存储在内存中。

想知道近年来是否有人实现了这一目标?或者使用SurfaceView或原生MediaPlayer还有其他可行的替代方案吗?我正在尝试使用TextureView,但目前无法使其正常工作。

1 个答案:

答案 0 :(得分:0)

我使用下面的代码来解决闪烁问题:

<CalculationLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:background="@android:color/black"
              android:orientation="vertical">

    <LinearLayout
            android:id="@+id/activity_display_journal_fragment_content"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    <SurfaceView
            android:layout_width="0px"
            android:layout_height="0px" />

</LinearLayout>

带有id activity_display_journal_fragment_content的LinearLayout包含片段,其中包含VideoView。