2014-06-17 42 views
0

我试图通过使用本机MediaPlayer的视频文件序列进行播放,并且它们之间不能有任何黑色闪烁。Android MediaPlayer无间隙视频

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

我认为片段的广泛使用可能已经引入了一种新的解决方案,事实上,我可以通过构建具有多个同时可见的SurfaceViews的片段堆栈并从堆栈顶部播放视频来实现无缝转换但当然这是不可缩放的,因为在播放开始之前整个播放列表需要存储在存储器中。

想知道最近几年有没有人做到这一点?或者是否会有其他可行的替代方案来使用SurfaceView或本机MediaPlayer?
我想用TextureView代替,但目前无法让它工作。

+0

我用SurfaceView修复闪烁的问题 –

+0

你可以提供一些细节吗? – Fullplate

+0

我用VideoView显示视频内容,并有闪烁的问题。我用SurfaceView来修复它。你需要这样的例子吗? –

回答

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> 

的LinearLayout与ID activity_display_journal_fragment_content持有片段,包含VideoView。

+0

嗯,我已经看到并尝试这个建议,但它没有奏效。 – Fullplate

+0

你如何在视频之间交换?你对每个新视频使用单独的片段吗? – Fullplate

+0

在这种情况下,我不知道别的什么建议。 SurfaceView为我提供了魔法并修复了我的问题。 –

相关问题