2013-03-10 293 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

韓國社交協會爲你的答案我會盡力然後我會告訴你以後 – Triet 2013-03-10 08:47:48

+0

...羅甚至還沒有當我用開關statement.Do工作,我必須設置委託每個buttonIndex?我試圖在switch語句之前設置委託,但它仍然不起作用 – Triet 2013-03-10 08:55:57

+0

爲什麼它在UIButton上工作?????但不是UIActionSheet按鈕? – Triet 2013-03-10 09:03:38