1. 로컬 영상을 정사각형 영역에 표시했습니다. 로컬 카메라를 끄고 영상을 표시하는 UI의 프레임을 작게 만들었습니다.
2. 로컬 비디오가 다시 표시되면 내가 지정한 영역에 비디오가 표시되는 것 외에도 원래 영역 클래스는 비디오가 닫혔을 때 마지막 프레임의 이미지도 유지합니다. 파란색 상자 안의 영역도 회색이 되었으면 좋겠습니다
3. 이제 마지막 프레임의 이미지를 지우고 싶은데 어떻게 처리해야 하나요?
removeFromSuperLayer 및 RemoveFromSuperView를 시도하고 비디오를 표시하는 UI에 뷰 레이어를 추가하려고 시도했지만 아무 것도 작동하지 않았습니다.
다음은 내 효과 사진입니다
다음은 내 핵심 코드입니다.
elf.localVideoSurface = [AVCaptureVideoPreviewLayer layerWithSession: (AVCaptureSession*)session];
으아악
문제가 해결되었습니다. 그러나 이 방법은 이전 레이어에 렌더링된 이미지를 UIView에 지우는 것이 아니라, 그 위에 UIView의 새 레이어를 렌더링하고 이 방법을 사용하여 이전 레이어를 덮어쓰는 것입니다.
으아아아코드는 다음과 같습니다.
//동영상을 닫을 때 LocalView에 남아 있는 마지막 프레임 이미지를 덮어씁니다