android 视频画面切割,Android 视频播放器切换到下个视频时残留上个视频画面的解决办法...

public void setRender(int render) {

switch (render) {

case RENDER_NONE:

setRenderView(null);

break;

case RENDER_TEXTURE_VIEW: {

TextureRenderView renderView = new TextureRenderView(getContext());

if (mMediaPlayer != null) {

renderView.getSurfaceHolder().bindToMediaPlayer(mMediaPlayer);

renderView.setVideoSize(mMediaPlayer.getVideoWidth(),

mMediaPlayer.getVideoHeight());

renderView.setVideoSampleAspectRatio(

mMediaPlayer.getVideoSarNum(),

mMediaPlayer.getVideoSarDen());

renderView.setAspectRatio(mCurrentAspectRatio);

}

setRenderView(renderView);

break;

}

case RENDER_SURFACE_VIEW: {

SurfaceRenderView renderView = new SurfaceRenderView(getContext());

setRenderView(renderView);

break;

}

default:

Log.e(TAG, String.format(Locale.getDefault(),

"invalid render %d\n", render));

break;

}

}

public void setRenderView(IRenderView renderView) {

if (mRenderView != null) {

if (mMediaPlayer != null)

mMediaPlayer.setDisplay(null);

View renderUIView = mRenderView.getView();

mRenderView.removeRenderCallback(mSHCallback);

mRenderView = null;

removeView(renderUIView);

}

if (renderView == null)

return;

mRenderView = renderView;

renderView.setAspectRatio(mCurrentAspectRatio);

if (mVideoWidth > 0 && mVideoHeight > 0)

renderView.setVideoSize(mVideoWidth, mVideoHeight);

if (mVideoSarNum > 0 && mVideoSarDen > 0)

renderView.setVideoSampleAspectRatio(mVideoSarNum, mVideoSarDen);

View renderUIView = mRenderView.getView();

FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(

FrameLayout.LayoutParams.WRAP_CONTENT,

FrameLayout.LayoutParams.WRAP_CONTENT, Gravity.CENTER);

renderUIView.setLayoutParams(lp);

addView(renderUIView);

mRenderView.addRenderCallback(mSHCallback);

mRenderView.setVideoRotation(mVideoRotationDegree);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值