在surfaceview中播放视频

时间:2014-12-16 04:53:06

标签: android android-mediaplayer surfaceview

我的应用在Surfaceview中播放视频。我在onPause()时停止播放媒体播放器。但是,当我从另一个活动返回时,surfaceview全黑,只有当我再次开始播放视频时才开始显示帧。我想知道是否有一种方法可以在停止时保留最后一帧。非常感谢。

1 个答案:

答案 0 :(得分:0)

我使用了2个SurfaceViews,第一个用于播放视频,第二个用于显示图片。 当我从暂停状态返回时,如果媒体播放器没有播放,我会通过这部分代码获得当前的视频帧:

try {
    mediaMDRetriever.setDataSource(mediaPath);
    picBitmap = mediaMDRetriever.getFrameAtTime();
} catch (Exception e) {
}

并在第二个冲浪视图上绘制。

如果需要,您可以通过以下代码清除第二个SurfaceView:

Canvas surfCanvas = surfHolder2.lockCanvas();
surfCanvas.drawColor( 0, PorterDuff.Mode.CLEAR );
surfHolder2.unlockCanvasAndPost( surfCanvas );