2012-04-05 20 views

Trả lời

20

Video đến từ thiết bị chụp iPhone luôn có định hướng ngang bất kể định hướng thiết bị là gì khi chụp.

Nếu bạn muốn xoay video của mình, giải pháp 'đơn giản' là chỉ định chuyển đổi cho đoạn video của phiên được xuất.

Tạo 2 bài hát có thể thay đổi trong đối tượng AVComposition của bạn:

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

Thêm phương tiện truyền thông của bạn theo dõi để theo dõi của sáng tác của bạn:

...   
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]; 
... 

Sau khi bạn thêm tất cả các bài hát của bạn, áp dụng của bạn chuyển đổi để theo dõi video về bố cục của bạn:

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

(hãy cẩn thận khi truyền orm có góc trên bên trái là nguồn gốc, do đó bản dịch là cần thiết sau khi quay, nhưng được thử nghiệm trên iPhone 4S, iOS 5.1, có vẻ như vòng xoay hiện được thực hiện xung quanh trung tâm.)

0

Khi U chuyển đổi đường đi nên đặt thành phần renderSize vì nó có thể nằm ngoài khung hoặc xuất hiện với khối màu đen:

self.mutableVideoComposition.renderSize = CGSizeMake(assetVideoTrack.naturalSize.height,assetVideoTrack.naturalSize.width); 
Các vấn đề liên quan