2013-04-25 1 views
0

У меня есть ViewController, где я играл звук, используя AVAudioPlayer и таймер работает в течение 2 минут, используя NSTimer и последовательность анимации, который воспроизводится с помощьюпауза таймера, UIView анимации и аудио IOS

[UIView animateWithDuration:2.0 
          delay:0.0 
         options:UIViewAnimationOptionCurveLinear 
        animations:^{ 
         //Rolling the Man's tongue out 
         _cooling2ManImage.alpha = 1.0; 
         _cooling3ManImage.alpha = 0.0; 
        } 
        completion:^(BOOL boolValue){ 
         [UIView animateWithDuration:2.0 
               delay:0.0 
              options:UIViewAnimationOptionCurveLinear 
              animations:^{ 
               //showing the Arrow image and translating the arrow to the mouth 
               _cooling1ArrowImage.alpha = 1.0; 
               _cooling1ArrowImage.transform = CGAffineTransformMakeTranslation(0,-110); 
              } 
              completion:^(BOOL boolValue){ 
               [UIView animateWithDuration:1.5 
                    delay:0.0 
                    options:UIViewAnimationOptionCurveLinear 
                   animations:^{ 
                    //Hiding the arrow 
                    _cooling1ArrowImage.alpha = 0.0; 
                   } 
                   completion:^(BOOL boolValue){ 
                    _cooling1ArrowImage.transform = CGAffineTransformMakeTranslation(0,0); 
                    [UIView animateWithDuration:2.0 
                         delay:0.0 
                         options:UIViewAnimationOptionCurveLinear 
                        animations:^{ 
                         //Roll the tongue back in 
                         _cooling2ManImage.alpha = 0.0; 
                         _cooling3ManImage.alpha = 1.0; 
                        } 
                        completion:^(BOOL boolValue){ 
                         //Show the arrow and translate it 
                         [UIView animateWithDuration:2.0 
                               delay:0.0 
                              options:UIViewAnimationOptionCurveLinear 
                             animations:^{ 
                              _cooling3ArrowImage.alpha = 1.0; 
                              CGAffineTransform scale; 
                              CGAffineTransform translate; 
                              scale = CGAffineTransformMakeScale(2.5, 2.5); 
                              translate = CGAffineTransformMakeTranslation(0, 40); 
                              _cooling3ArrowImage.transform = CGAffineTransformConcat(scale, translate); 
                              _cooling3ArrowImage.alpha = 0.0; 
                             } 
                             completion:^(BOOL boolValue){ 
                              [UIView animateWithDuration:2.0 
                                    delay:0.0 
                                   options:UIViewAnimationOptionCurveLinear 
                                   animations:^{ 
                                    _cooling2ManImage.alpha = 0.0; 
                                    _cooling3ManImage.alpha = 1.0; 
                                    _cooling1ArrowImage.alpha = 0.0; 
                                    _cooling3ArrowImage.alpha = 0.0; 
                                    _cooling3ArrowImage.transform = CGAffineTransformMakeTranslation(0,0); 
                                    _cooling3ArrowImage.transform = CGAffineTransformMakeScale(1,1); 
                                    if (count <= 6) { 
                                     [self startAnimation1]; 
                                     count += 1; 
                                     NSLog(@"%i",count); 
                                    } 
                                   } 
                                   completion:nil]; 
                             }]; 
                        }]; 
                   }]; 
              }]; 
        }]; 

I ahve, чтобы реализовать паузу и возобновить функциональность, так что, когда пользователь нажимает кнопку «Пауза», звук, анимация и таймер приостанавливаются, и когда пользователь нажимает кнопку возобновления, он возобновляется точно от того места, где он приостановлен. Может кто-нибудь разрешил мне знаете, как я могу это достичь?

ответ

1

для AVAudioPlayer использовать

[avplayerObject pause]; 
[avplayerObject play]; 

for timer: 

Вы можете хранить количество времени, которое прошло с тех пор таймер начал ... Когда запускается таймер хранения даты в переменной NSDate. Затем, когда пользователь переключается ... используйте метод timeIntervalSinceNow в классе NSDate, чтобы хранить, сколько времени прошло ... Обратите внимание, что это даст отрицательное значение для timeIntervalSinceNow. Когда пользователь возвращает это значение для установки соответствующего таймера.

для просмотра анимации check this one

+0

Как приостановить UIViewAnimation, что я использую? –

+0

один раз проверьте мой обновленный. – Balu

+0

@SRS: Это вам помогло? – Balu