2013-03-10 4 views
0

Я новичок в Xcode, и мне нужен опыт от того, кто освоил xcode. Я пытаюсь воспроизвести, приостановить, остановить музыку с помощью UIActionSheet, но когда я нажимаю кнопку «Пауза» и «Стоп», они не останавливаются или даже не останавливаются только на кнопке «Воспроизведение». Можете мне помочь? Вот мой код.играть, пауза, останавливать музыку с помощью UIActionSheet

#import <AVFoundation/AVFoundation.h> 
@interface MainViewController() <UIActionSheetDelegate,AVAudioPlayerDelegate> 
@property(nonatomic,retain)AVAudioPlayer *playAudio; 
@end 

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    NSString *buttonTitle =[actionSheet buttonTitleAtIndex:buttonIndex]; 
    NSURL *url =[NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/MusicName.mp3",[[NSBundle mainBundle] resourcePath]]]; 
    NSError *error; 

    self.playAudio=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error]; 

    if (buttonIndex==0) { 

     [self.playAudio play]; 

    } 
    if ([buttonTitle isEqualToString:@"Pause"]) { 

     [self.playAudio pause]; 
    } 
    if (buttonIndex==2) { 
     [self.playAudio stop]; 
    } 
} 
- (IBAction)Music:(id)sender { 

    UIActionSheet *musicSheet =[[UIActionSheet alloc]initWithTitle:@"Choose" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Play",@"Pause",@"Stop", nil]; 
    [musicSheet showInView:self.view]; 


} 

. Я вьетнамский, поэтому мои знания английского языка могут затруднить понимание того, что я говорю. Спасибо за ваше время . Я с нетерпением жду вашего ответа

ответ

0

Прежде всего: вы не должны полагаться на название кнопки. Используйте индекс кнопки, чтобы определить, какая кнопка нажата, вот для чего.

Второй: Вы уверены, что указатель ваших кнопок прав? Вы можете попробовать использовать оператор switch.

Такие, как:

switch (buttonIndex) { 
     case 0: 
      [self.playAudio play]; 
      break; 
     case 1: 
      [self.playAudio pause]; 
      break; 
     case 2: 
      [self.playAudio stop]; 
      break; 
     default: 
      break; 
} 
+0

Tks для вашего ответа я буду стараться, то я расскажу вам позже – Triet

+0

... Нах до сих пор не работает, даже когда я использовал переключатель statement.Do я должен установить делегат каждый buttonIndex? Я попытался установить делегат перед оператором switch, но он все еще не работает – Triet

+0

Почему он работает на UIButton ????? но не кнопки UIActionSheet? – Triet

Смежные вопросы