1.我在正方形的區域裡顯示了本地的視頻,當我關閉本地攝像頭後修改了這個顯示視頻的UI的frame,我吧它改小了。
2.再次顯示本地視頻的時候除了在我指定的區域顯示了視頻外,在原來的區域類還遺留了之前關閉視頻時最後一幀的圖像。 我希望藍色框中搞得區域也為灰色
3.我現在想清空這最後一幀的圖像,請問我該怎麼處理呢?
我試過 removeFromSuperLayer 和 removeFromSuperView 以及向這個顯示視頻的UI上添加一層view 但是都沒有達到效果。
下面是我的效果圖
下面是我的核心程式碼:
elf.localVideoSurface = [AVCaptureVideoPreviewLayer layerWithSession: (AVCaptureSession*)session];
self.localVideoSurface.frame = CGRectMake(0, 0, self.theLocalView.frame.size.width, self.theLocalView.frame.size.height);
self.localVideoSurface.videoGravity = AVLayerVideoGravityResizeAspectFill;
[self.theLocalView.layer addSublayer:self.localVideoSurface];
我的問題已經解決了。 不過方法不是清楚之前UIView上layer上渲染的影像,而是在這個之上再渲染一層新的UIView的layer,用這個方式來覆蓋掉之前的layer。
程式碼如下:
//覆蓋掉關閉影片時停留在theLocalView上的最後一格的影像