如何截取当前这一帧的图片去显示

发布时间: 2021-12-08 14:19

回答:

RTCLib 中 想要截取当前这一帧的图片(拿 Bitmap 去显示,只适用于拿图片;不同于 拿每一帧的视频数据(buffer)):


       /**
        * Register a needCallback to be invoked when a new video frame has been received. This version
        * uses the drawer of the EglRenderer that was passed in init.
        *
        * @param listener The needCallback to be invoked.
        * @param scale The scale of the Bitmap passed to the needCallback, or 0 if no Bitmap is
        *     required.
        */
        RCRTCVideoView.addFrameListener(frameListener,1.0f);
        //addFrameListener方法调用必须在打开摄像头、设置 RCRTCVideoView ,资源发布调用成功之后才能获取到非空的 bitmap ;
        //addFrameListener方法是调用一次返回一帧图像的 bitmap 。必须在 离开房间 或者 使用完之后注销监听;
        RCRTCVideoView.removeFrameListener(frameListener);

        private EglRenderer.FrameListener frameListener = new FrameListener() {
            @Override
            public void onFrame(Bitmap frame) {
                //TODO 拿 Bitmap 去显示

            }
        };