在追加之前缩放QTMovie

时间:2012-10-16 19:33:30

标签: macos cocoa scaling quicktime qtkit

使用QTKit框架,我正在开发一个小应用程序。

在应用程序中,我试图在另一部电影之后追加一部电影,这实际上已经在工作(大部分时间),但我对附加的电影有点麻烦。我追加的电影相当大,如1920x1080,附加的电影通常要小得多,但我不知道它的大小究竟是多少。附加的电影类型在之前的1920x1080帧中保持其自己的大小,如下所示:enter image description here

有没有人熟悉这个?有没有办法可以将我需要附加的电影缩放到附加电影的大小?文档中没有提到这样的内容。

这是一些相关的方法: `QTMovie * segmentTwo = [QTMovie movieWithURL:finishedMovie error:nil];             QTTimeRange range = {。time = QTZeroTime,.duration = [segmentTwo duration]};

        [segmentTwo setSelection:range];
        [leader appendSelectionFromMovie:segmentTwo];

        while([[leader attributeForKey:QTMovieLoadStateAttribute] longValue] != 100000L)
        {
            //wait until QTMovieLoadStateComplete
        }

        NSDictionary *exportAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
                                          [NSNumber numberWithBool:YES], QTMovieExport,
                                          [NSNumber numberWithLong:kQTFileTypeMovie], QTMovieExportType, nil];

        NSString *outputFile = [NSString stringWithFormat:@"%@.mov", onderwerp];
        NSString *filepath = [[@"~/Desktop" stringByExpandingTildeInPath] stringByAppendingFormat:@"/%@", outputFile];
        BOOL succes = [leader writeToFile:filepath withAttributes:exportAttributes error:&theError];

Leader的初始化如下:

NSDictionary *movieAttributes = [NSDictionary dictionaryWithObjectsAndKeys:path, QTMovieFileNameAttribute, [NSNumber numberWithBool:YES], QTMovieEditableAttribute,  nil];

leader = [QTMovie movieWithAttributes: movieAttributes  error:&error];

1 个答案:

答案 0 :(得分:0)

虽然没有使用QTKit框架,但它包含了我需要的所有信息。 QTKit - Merge two videos with different width and height?