Я пытаюсь реализовать функцию обрезки видеоролика Instagram. Для этого мне нужно правильно установить Ориентация видео, с которой я смогу отобразить изображение в правильном соотношении сторон, и тогда пользователь сможет панорамировать видео, а показанное квадратное видео будет обрезано по действию.Как получить правильную ориентацию для видео из PhotoLibrary iOS
У меня возникла проблема с правильной ориентацией видео. Я использую следующий код
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:fileUrl options:nil];
NSArray *tracks = [asset tracksWithMediaType:AVMediaTypeVideo];
AVAssetTrack *track = [tracks objectAtIndex:0];
UIInterfaceOrientation orientation =[self orientationForTrack:track];
// method to get orientation
- (UIInterfaceOrientation)orientationForTrack:(AVAssetTrack *)videoTrack
{
CGSize size = [videoTrack naturalSize];
CGAffineTransform txf = [videoTrack preferredTransform];
if (size.width == txf.tx && size.height == txf.ty)
return UIInterfaceOrientationLandscapeRight;
else if (txf.tx == 0 && txf.ty == 0)
return UIInterfaceOrientationLandscapeLeft;
else if (txf.tx == 0 && txf.ty == size.width)
return UIInterfaceOrientationPortraitUpsideDown;
else
return UIInterfaceOrientationUnknown;
}
проблема, которую я имею, что несколько раз видео, которые на самом деле в портретном, выше кусок кода классификации его в качестве ландшафта и наоборот. Мне нужно знать только два состояния ориентации видео (Пейзаж или портрет). Я хочу точно такое же значение ориентации, которое интерпретирует MPMoviePlayerController
. Мое приложение поддерживает только Портрет ориентация. Любая помощь будет высоко оценен.
PS: Над кодом работает отлично для видеозаписей, снятых с камеры iphone, видео, которые загружаются или передаются через whatsapp, вызывают проблему.
Возможно, эта ссылка поможет вам https://gist.github.com/lukabernardi/5020724 –
Нет, нет. Я решил эту проблему, я выгружу решение, когда я получу некоторое время. Спасибо за вашу помощь. – Usama
ОК. Положите это, чтобы другие получили некоторую помощь ....:) –