3

このコードを手に入れました:

videoSize = [[AVPlayerItem playerItemWithAsset:asset] presentationSize]; 

// nslogs->高さ:000幅000

そしてこれは非推奨です:

videoSize = [asset naturalSize];

// nslogs->高さ:360幅480

なぜこうなった?理解できません。

4

2 に答える 2

10

解決済み:

NSArray* allVideoTracks = [movieAsset tracksWithMediaType:AVMediaTypeVideo];
if ([allVideoTracks count] > 0) {
AVAssetTrack* track = [[movieAsset tracksWithMediaType:AVMediaTypeVideo]objectAtIndex:0];
CGSize size = [track naturalSize];
}

これは私の一日を作りました、それが他の誰かのために働くことを願っています...

于 2013-01-22T20:25:41.830 に答える
0
  1. presentationSizeinは、プレーヤーアイテムの準備ができていない場合の値AVPlayerItemを返す場合があります。docCGSizeZero
  2. インが落ち込んでいますnaturalSizedocAVAsset
  3. コードと同じように、とを使用することをお勧めnaturalSizepreferredTransformますAVAssetTrack
CGSize size = [[[movieAsset tracksWithMediaType:AVMediaTypeVideo] firstObject] naturalSize];
于 2019-10-30T02:13:52.987 に答える