ошибка: несовместимый тип для аргумента 1 QTGetTimeInterval - PullRequest
0 голосов
/ 01 февраля 2011

все еще есть проблемы с этой частью кода:

@interface MYAccessMp3Tags: NSObject
{
    NSTimeInterval duration;
    NSTimeInterval currentTime;
}

-(NSTimeInterval) durationInSeconds;
-(NSTimeInterval) currentTimeInSeconds;
-(NSDictionary *) metadata;
-(NSString *) metadataDescription;
-(NSString *) loadStateDescription;

@property (nonatomic) NSTimeInterval duration;
@property (nonatomic) NSTimeInterval currentTime;
@end



@implementation MYAccessMp3Tags;

@synthesize duration;
@synthesize currentTime;
-(NSTimeInterval)durationInSeconds 
{

    NSTimeInterval dur;

    QTGetTimeInterval([self duration], &dur);
    //error: incompatible type for argument 1 of QTGetTimeInterval
    return duration;
}

-(NSTimeInterval)currentTimeInSeconds 
{
    NSTimeInterval currTime;
    QTGetTimeInterval([self currentTime], &currTime);
    //error: incompatible type for argument 1 of QTGetTimeInterval
    return currentTime;
}     

что здесь не так?

1 Ответ

0 голосов
/ 01 февраля 2011

Я уверен, что вы не хотите использовать [self currentTime].Это возвращает свойство currentTime, которое вы только что определили в .h, то есть NSTimeInterval.С какой стати вы кормите это в QTGetTimeInterval?

Вместо этого, я уверен, вы хотели бы получить duration и currentTime экземпляра QTMovie.

Итак, предположим, у вас есть QTMovie*movie.Тогда [movie duration] возвращает QTTime, а не NSTimeInverval.Это связано с тем, что исторически QuickTime происходил из источника, отличного от Cocoa / Objective-C.Вот почему вам нужна функция преобразования, такая как QTGetTimeInterval.Итак,

QTMovie*movie= ... ;
QTTime duration=[movie duration]; 
NSTimeInterval dur;
QTGetTimeInterval(duration, &dur);

должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...