【问题标题】:iOS 6: AVPlayerItem PresentationSize returning zero - (naturalSize method Deprecated on iOS 5)iOS 6:AVPlayerItem PresentationSize 返回零 -(naturalSize 方法在 iOS 5 上已弃用)
【发布时间】:2013-01-06 04:08:22
【问题描述】:

得到这个代码:

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

// nslogs -> 高度:000 宽度000

这已被弃用:

videoSize = [asset naturalSize];

// nslogs -> 高度:360 宽度 480

为什么会这样?没看懂。

【问题讨论】:

    标签: iphone objective-c ios6 deprecated core-video


    【解决方案1】:

    已解决:

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

    这让我很开心,希望它对其他人有用...

    【讨论】:

      【解决方案2】:
      1. 当玩家物品没有准备好播放时,AVPlayerItem 中的presentationSize 可能会返回CGSizeZero 的值。doc
      2. AVAsset 中的naturalSize 郁闷。 doc
      3. 就像你的代码一样,建议使用naturalSizepreferredTransformAVAssetTrack
      CGSize size = [[[movieAsset tracksWithMediaType:AVMediaTypeVideo] firstObject] naturalSize];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-22
        • 1970-01-01
        • 2014-11-15
        • 1970-01-01
        • 2012-09-12
        • 2012-12-18
        • 2011-11-14
        • 1970-01-01
        相关资源
        最近更新 更多