QTMovie setRate问题

时间:2010-10-08 01:09:46

标签: objective-c cocoa quicktime

我正在制作一个程序原型(在当前阶段)只需要能够加载电影并调整播放速度。我已经完成了UI,我已经让播放工作了,但我还没有设法弄清楚如何调整播放速度。

我相信 - [QTMovie setRate:(float)]是这样做的方法,但我没有运气。即使在将电影加载到QTMovieView之前设置播放速度,电影也只能以100%的速度播放。我已经输入了文本输出来检查电影“相信”它正在播放的速度,并检查我所放入的内容,但电影仍以100%的速度显示在视图中。

以下是控制器的一些代码:

@interface SRPlayerController : NSObject {
    QTMovieView *movieView;
}
@end

@implementation SRPlayerController
-(void) playSelectedMovie
{
    SRMovie *srm = [self selectedMovie];    
    QTMovie *mov = [self movieForSRMovie:srm];

    //set play speed
    [self setPlaySpeed:[srm.defaultPlaySpeed floatValue] forMovie:mov];

    //put movie into viewer
    [movieView setMovie:mov];

    //play
    [movieView play:self];
}

-(void) setPlaySpeed:(float)ps forMovie:(QTMovie*)movie
{
    NSLog(@"setting play speed to %f", ps);

    [movie setRate:ps]; 

    NSLog(@"movie playing at speed: %f", [movie rate]);
}
@end

感谢您的回复。

1 个答案:

答案 0 :(得分:1)

显然你不能在不播放时调整播放。我所要做的就是更改-playselectedmovie次来电的顺序,以便在调整速度之前进行播放。