我想要一个滑块和一个视频(比如10秒中的一个),当滑块为0时,应该将imageView设置为视频的第一个图像。当滑块为0.3时,imageView应显示在(3/10)显示的图像*视频的长度(在这种情况下为3秒)。当滑块为1时,imageView应显示在视频末尾显示的图像。因此,您可以使用滑块快速或慢速播放视频。
有人可以告诉我在特定时间内获取视频图像的代码吗?
我不想从那一秒开始播放它,只是得到通常应该在那一秒显示的图像。
提前致谢!
答案 0 :(得分:2)
您收到错误,因为在解析[[NSUserDefaults standardUserDefaults] integerForKey @"myScoreLevel1"]
时,编译器会转到“integerForKey”并在此之后看到一个字符串文字。这绝不是合法的语法。但[[NSUserDefaults standardUserDefaults] integerForKey]
将是合法语法,因此编译器会抱怨缺少]
。
当然,真正的问题是在“integerForKey”之后缺少:
,但是编译器不够聪明才能意识到这一点。
(当然使用=
代替==
是另一个问题,但编译器尚未认识到这一问题。使用=
代替==
是一个问题太常见的错误,并且它是一个你不能依赖编译器总是标记的。如果它通过编译,你的程序可能会非常非常。)
答案 1 :(得分:1)
应该是:
if ([[NSUserDefaults standardUserDefaults] integerForKey: @"myScoreLevel1"] == 0){
[self.button1Outlet setBackgroundImage:[UIImage imageNamed:@"chooselevelWithoutStars.png"] forState: UIControlStateNormal];
} else if ([[NSUserDefaults standardUserDefaults] integerForKey: @"myScoreLevel1"] == 1){
[self.button1Outlet setBackgroundImage:[UIImage imageNamed:@"chooseLevel1Star.png"] forState: UIControlStateNormal];
}
另请注意else { .. }
语句后if elseif
是可选的。
答案 2 :(得分:-1)
更改为
if([[NSUserDefaults standardUserDefaults] integerForKey:@“myScoreLevel1”] == 0){ [self.button1Outlet setBackgroundImage:[UIImage imageNamed:@“chooselevelWithoutStars.png”] forState:UIControlStateNormal];
} else if([[NSUserDefaults standardUserDefaults] integerForKey:@“myScoreLevel1”] == 1){ [self.button1Outlet setBackgroundImage:[UIImage imageNamed:@“chooseLevel1Star.png”] forState:UIControlStateNormal]; } else {
}