Instagramビデオクロッピング機能を実装しようとしています。そのために私は正確なオリエンテーションビデオの私のレイアウトMPMoviePlayerController
正しいアスペクト比で表示する必要があり、ユーザーはビデオをパンすることができ、正方形のビデオが動作時に切り取られます。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;
}
私が午前問題は、いくつかの回は、コードの一部上記の肖像画に実際にある動画は、風景やその逆として分類されていることであるを使用しています。私は、ビデオの向きの2つの状態を知る必要があります(風景またはポートレート)。 MPMoviePlayerController
が解釈しているのと全く同じ向きの値が必要です。私のアプリケーションはのポートレートオリエンテーションのみをサポートしています。どんな助けも高く評価されます。
PS:上記のコードは、iphoneカメラからキャプチャしたビデオ、whatsappでダウンロードまたは共有しているビデオで問題なく動作しています。
このリンクはhttps://gist.github.com/lukabernardi/5020724 –
には役立ちません。私はこの問題を解決しました。私は時間を取るときに解決策をアップロードします。ご協力いただきありがとうございます。 – Usama
他にもいくつかの助けがあります:...) –