2013-10-04 65 views
0

我需要以編程方式點擊一個按鈕:[play sendActionsForControlEvents:UIControlEventTouchUpInside]; 但是當我這樣做時,空間被稱爲兩次!我需要啓動AVPlayer(在ViewDidLoad中),但音樂也開始兩次。請幫忙 :)。UIButton被點擊兩次

戲碼:

- (IBAction)playStream:(id)sender { 
    NSLog(@"%@", @"PlayStream clicked: ", sender); 
     if(clicked == 0) { 
     clicked = 1; 
     [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
     [self becomeFirstResponder]; 
     [play setImage:[UIImage imageNamed:@"pause"] forState:UIControlStateNormal]; 
     [playerr play]; 
    } 
    else { 
     [playerr stop]; 
     [play setImage:[UIImage imageNamed:@"Start"] forState:UIControlStateNormal]; 
     [audio setActive:NO error:nil]; 
     clicked = 0; 
    } 
} 
+0

請張貼您的代碼。 – RLH

+0

請清理你的代碼。 – AdamG

+0

對不起,我不知道該怎麼做... – matthijs2704

回答

1

如何:

@implementation MyClassName{ 
    BOOL musicPlaying; 
} 

- (IBAction)playStream:(id)sender { 
    if(musicPlaying){ 
     [self pauseMusic]; 
    }else{ 
     [self playMusic]; 
    } 
} 

-(void)playMusic{ 
    musicPlaying= YES; 
    [play setImage:[UIImage imageNamed:@"pause"] forState:UIControlStateNormal]; 
    [playerr play]; 
} 

-(void)pauseMusic{ 
    musicPlaying= NO; 
    [playerr stop]; 
    [play setImage:[UIImage imageNamed:@"Start"] forState:UIControlStateNormal]; 
    [audio setActive:NO error:nil]; 
} 

現在不是編程輕點按鈕,只需撥打playMusic或pauseMusic。

+0

謝謝,我只是自己修復它....但你的代碼正在工作:)現在即時通訊使用:(playerr.playbackState ==!MPMoviePlaybackStatePlaying)。我將AVPlayer更改爲隱藏的MPMoviePlayer(用於音頻流) – matthijs2704