我正在尝试使用原生MediaPlayer播放一系列视频文件,并且不能在它们之间产生任何黑色闪烁。
我意识到这个问题以前曾多次提出过,但这些问题大多是几年前的问题。典型的反应是在多个媒体播放器之间进行交换,这似乎不起作用。
我认为片段的广泛使用可能引入了一种新的解决方案,实际上我可以通过构建一堆片段来实现无缝过渡,同时可以看到多个SurfaceViews,并从堆栈顶部播放视频,但当然这不可扩展,因为整个播放列表需要在播放开始前存储在内存中。
想知道近年来是否有人实现了这一目标?或者使用SurfaceView或原生MediaPlayer还有其他可行的替代方案吗?我正在尝试使用TextureView,但目前无法使其正常工作。
答案 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。