2012-04-05 20 views

cevap

20

iPhone yakalama aygıtından gelen video, yakalama sırasında aygıt yönelimi ne olursa olsun daima yatay yönlendirilir.

Videonuzu döndürmek istiyorsanız, 'basit' çözüm dışa aktarılan oturumun video izine bir dönüşüm atamaktır.

AVMutableCompositionTrack *videoTrack = [composition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid]; 
AVMutableCompositionTrack *audioTrack = [composition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid]; 

sizin bileşimin parçaları bulmak üzere Medias parçaları ekleyin:

sizin AVComposition nesnesinde 2 değişken parçaları oluşturun tüm parçalarını ilave sonra

...   
BOOL videoResult = [videoTrack insertTimeRange:sourceCMTime 
             ofTrack:[tracks objectAtIndex:0] 
             atTime:currentTime 
             error:&error]; 

BOOL audioResult = [audioTrack insertTimeRange:sourceCMTime 
             ofTrack:[tracks objectAtIndex:0] 
             atTime:currentTime 
             error:&error]; 
... 

uygulamak senin video izinin dönüşümü Kompozisyonunuz:

CGAffineTransform rotationTransform = CGAffineTransformMakeRotation(M_PI_2); 
// CGAffineTransform rotateTranslate = CGAffineTransformTranslate(rotationTransform,360,0); 
    videoTrack.preferredTransform = rotationTransform; 

(Transferiye dikkat edin) orm, sol üst köşeyi orijine sahipti, bu nedenle çevirme işlemi rotasyondan sonra gerekliydi, ancak iPhone 4S, iOS 5.1'de test edildi, rotasyon artık merkezde yapıldığı görülüyor.)

0

U dönüşü bu arada çerçeveden çıkabileceğinden veya siyah blok ile göründüğünden kompozisyon renderSize'yi ayarlayın:

self.mutableVideoComposition.renderSize = CGSizeMake(assetVideoTrack.naturalSize.height,assetVideoTrack.naturalSize.width); 
İlgili konular