android 截屏动画,android - 适用于Android的WebRTC:VideoRendererGUI在视频通话中截屏 - 堆栈内存溢出...

我将假设您要对其进行屏幕截图的对等方的SurfaceViewRenderer称为remotePeerSurfaceViewRenderer ,同时我还将假设您将用于进行屏幕截图的按钮称为btnScreenshot

因此,您需要做的就是在上面的答案中使用“ Webo80”说使用FrameListener,问题是,一旦将Listener附加到SurfaceViewRenderer上,webrtc的FrameListener实现将仅获取可用的第一帧,所以我的方法是那是通过第二次附加FrameListsner的webrtc实现,我需要截取屏幕截图,并在完成后将其删除:

btnScreenshot.setOnClickListener((view)-> {

remotePeerSurfaceViewRenderer.addFrameListsner(new EglRenderer.FrameListener() {

@Override

public void onFrame(Bitmap bitmap) {

runOnUiThread(() -> {

/*

do what ever you want with the bitmap for example

imgView.setImageBitmap(bitmap);

*/

localVideoView.removeFrameListener(this);

});

}

}, 1);

})

重要的提示:

1. Please don't forget to runOnUiThread as Iam doing

2. Please don't forget to remove the listener inside the button onClick() method

我已经尝试过该解决方案,并且效果还不错,如果要制作自定义解决方案,则必须完全实现接口“ EglRenderer.FrameListener”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值