如何获得QTMovie的尺寸

时间:2013-07-25 14:58:19

标签: objective-c macos cocoa automatic-ref-counting

我正试图获得QTMovie的高度和宽度,但无法正确使用。

这是代码(使用ARC):

// get the movie's dimensions
NSSize *sourceSize = (__bridge NSSize *)([[movie movieAttributes] valueForKey:@"QTMovieNaturalSizeAttribute"]);

NSLog(@"%@", sourceSize);
// the output seems OK:
// NSSize: {1920, 1040}

NSLog(@"%f x %f", sourceSize->width, sourceSize->height);
// here's the output:
// 0.000000 x 0.000000

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

感谢H2CO3的评论,我得到了这个。这是我出错的地方:

[movie movieAttributes]返回一个NSDictionary,而valueForKey是KVC,它不返回非对象值,而是返回wraps them

因此NSSize sourceSize = [[[movie movieAttributes] valueForKey:@"QTMovieNaturalSizeAttribute"] sizeValue]是检索NSSize结构的正确方法。

另外 - 正如H2CO3的评论所暗示的那样 - 这是一个愚蠢的错误。入门很难: - )

相关问题