看板 MacDev 關於我們 聯絡資訊
我想做一個跟官方App一樣的「前後鏡頭交換」的效果 我把session輸出的layer放在一個叫做preview的UIView上 captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session]; [captureVideoPreviewLayer setFrame:CGRectMake(0,0,preview.frame.size.width,preview.frame.size.height)]; [captureVideoPreviewLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill]; [preview.layer addSublayer:captureVideoPreviewLayer]; 之前有試過 轉layer或是轉preview 但結果都還滿失敗的... 轉preview的寫法大概是這樣 [UIView transitionWithView:self.view duration:0.2 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{ [session removeInput:input]; [session addInput:newInput]; } completion:NULL]; 結果就是他先把鏡頭換到後面去之後,在把preview旋轉 現在有點卡關@@ 官方的AVCam project也沒做這個特效 不知道有沒有什麼比較好的辦法... -- 從你的 iPhone 嗄? 你沒有iPhone ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.250.119.50
johnlinvc:把animations 那個block移到completion試試 06/22 11:22
johnlinvc:在不行的話就只能用AVAsset 來解了 06/22 11:23
man27382210:會變成先翻,然後多一個定格 過差不多一秒才換下個鏡 06/22 11:47
man27382210:看來AVAsset可能是正解了... 06/22 11:51