このコードを手に入れました:
videoSize = [[AVPlayerItem playerItemWithAsset:asset] presentationSize];
// nslogs->高さ:000幅000
そしてこれは非推奨です:
videoSize = [asset naturalSize];
// nslogs->高さ:360幅480
なぜこうなった?理解できません。
このコードを手に入れました:
videoSize = [[AVPlayerItem playerItemWithAsset:asset] presentationSize];
// nslogs->高さ:000幅000
そしてこれは非推奨です:
videoSize = [asset naturalSize];
// nslogs->高さ:360幅480
なぜこうなった?理解できません。
解決済み:
NSArray* allVideoTracks = [movieAsset tracksWithMediaType:AVMediaTypeVideo];
if ([allVideoTracks count] > 0) {
AVAssetTrack* track = [[movieAsset tracksWithMediaType:AVMediaTypeVideo]objectAtIndex:0];
CGSize size = [track naturalSize];
}
これは私の一日を作りました、それが他の誰かのために働くことを願っています...
presentationSize
inは、プレーヤーアイテムの準備ができていない場合の値AVPlayerItem
を返す場合があります。docCGSizeZero
naturalSize
。docAVAsset
naturalSize
し
preferredTransform
ますAVAssetTrack
。CGSize size = [[[movieAsset tracksWithMediaType:AVMediaTypeVideo] firstObject] naturalSize];