2014-01-12 9 views
0

나는 피아노가 내장 된 앱을 가지고 있습니다. 각 키 (Button1)를 누르면 누를 시작하고 사용자가 손가락을 떼면 메모가 멈추기를 원합니다. 어떤 일이 발생하면 정지 기능이 키의 내부 위로 터치 업 (Button1)으로 설정된 경우 오디오 재생이 중지되지 않습니다. 나는 다른 버튼 (Button2를)에 피아노 키 (Button1을)의 동작을 변경하는 경우 I 버튼 2.AVAudioPlayer가 위로 터치로 재생되지 않음

.H

#import <AVFoundation/AVAudioPlayer.h> 

@interface FifthViewController : UIViewController <AVAudioPlayerDelegate> { 
    AVAudioPlayer *theNote; 

} 

하는 .m

을 누르면 예상대로 그것은 재생 중지
#import <AVFoundation/AVAudioPlayer.h> 
#import <AVFoundation/AVFoundation.h> 

//White 
-(IBAction)note1w:(id)sender { //Touch Down 

    [self whiteKey:self]; 
    [self downKey:self]; 

    NSString *path = [[NSBundle mainBundle] pathForResource:@"white1" ofType:@"aif"]; 
    theNote = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL]; 
    theNote.delegate = self; 
    theNote.currentTime = 0; 
    [theNote play]; 
} 

-(IBAction)stopMusic { //Touch Up Inside - This is the action that I change from the Button1 (The Piano Key) to Button2 (A Reg UIButton) and it works. 

    [theNote stop]; 

}  
+0

왜 작동하지 않는지 알 수 없습니다. 멈추기 전에 멈추지 않으세요. 그래도 문제가 해결되지 않으면 ** theNote **가 올바르게 참조하는지 확인하십시오. 그리고 * - (IBAction) stopMusic *이 (가) 호출되지 않았다고 의심됩니다. – TwilightSun

답변

0

문제를 해결하기 위해 해결 방법을 만들었습니다. 나는 이미 인식기 상태가 [self stopMusic]으로 끝나기를 기다렸습니다. 그리고 그것은 잘 달렸다. 다른 앱에서 문제를 재현 할 수 없습니다. 그것은 실행되고있는 다른 코드와 충돌해야합니다.

0

프로젝트에서 코드를 시도했지만 정상적으로 작동했습니다. touchUp 연결을 잘못 구성한 것 같습니다 (실수로 실수로 연결 한 것처럼 touchUpOutside에 연결된 것 같습니다).