1

繰り返しボタンが初めて押されたときは無限回実行され、2 回目に押されたときはオーディオを繰り返さず、ループを停止する必要があります。. 以下は、最初は非常にうまく機能するコードですが、もう一度押すとループが停止しません。

BOOL isFirstTime;

@interface English : UIViewController <UITextViewDelegate, ADBannerViewDelegate, UIScrollViewDelegate,

-(void) RepeatAction:(id)sender{

if(isFirstTime == YES){

     player.numberOfLoops = -1;


} else {

    player.numberOfLoops = 0;
}

}

- (void)playAction:(id)sender
{
    if([player isPlaying])
    {
        [sender setImage:[UIImage imageNamed:@"1play.png"] forState:UIControlStateSelected];
        [player pause];

    }else{
        [sender setImage:[UIImage imageNamed:@"audiopause.png"] forState:UIControlStateNormal];
        [player play];
        slidertimer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(updateProgressBar:) userInfo:nil repeats:YES];

        [[NSRunLoop mainRunLoop] addTimer:slidertimer forMode:NSRunLoopCommonModes];
        timer = slidertimer;


    }}

手伝ってくれてありがとう。

4

1 に答える 1

1
-(void) RepeatAction:(id)sender{
    if(isFirstTime){  // even here you need not to compare with == YES
         player.numberOfLoops = -1;
         isFirstTime = NO;
    } else {
        player.numberOfLoops = 0;
        isFirstTime = YES;
    }
}
于 2013-02-08T14:35:33.487 に答える