2016-11-07 20 views
0

スクリーンレコードをキャプチャしてファイルに出力します。私のマックは網膜です。AVAssetビデオサイズ(幅*高さ)

私はしてファイルサイズを取得:

self.asset = [AVAsset assetWithURL:_assetURL]; 

AVAssetTrack *track = [[self.asset tracksWithMediaType:AVMediaTypeVideo] firstObject]; 
self.vedioNaturalSize = CGSizeApplyAffineTransform(track.naturalSize, track.preferredTransform); 

が、このサイズはピクセルであり、私はポイントでサイズを取得したいです。

ビデオをQuickTimeで再生すると、ピクセルではなく初期のウィンドウサイズが見つかったが、サイズはピクセル単位でしか取得できない。

誰もがアプローチを知っていますか、ありがとうございます。

答えて

0

このコードを試してみてはあなたの助けのためにpixelToPoints

+(CGFloat)pixelToPoints:(CGFloat)px { 
CGFloat pointsPerInch = 72.0; // see: http://en.wikipedia.org/wiki/Point%5Fsize#Current%5FDTP%5Fpoint%5Fsystem 
CGFloat scale = 1; // We dont't use [[UIScreen mainScreen] scale] as we don't want the native pixel, we want pixels for UIFont - it does the retina scaling for us 
float pixelPerInch; // aka dpi 
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
    pixelPerInch = 132 * scale; 
} else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { 
    pixelPerInch = 163 * scale; 
} else { 
    pixelPerInch = 160 * scale; 
} 
CGFloat result = px * pointsPerInch/pixelPerInch; 
return result; 
} 
+0

感謝を変換し、私はこれをしようとします。しかし、実際には、資産のポイントを取得するためのAPIが存在するかどうかを知りたいと思っています。 – melody5417