2013-05-24 9 views
0

사용자가 앞으로 또는 뒤로 쓸 때마다 소리 재생을 시도하고 있습니다. 이미 추가 한슬쩍 제스처 인식기에 소리를 추가하십시오.

은 버튼을 누를 때 소리를 재생 IBAction의 내 UIButton의의 모든 소리, 그것은 아무 문제가 작동하지 않습니다. 그러나, 내가 스 와이프 제스처로 똑같은 것을하려고 할 때, 그것은 작동하지 않습니다. 스 와이프 제스처는 스토리 보드에 만들어지고 잘 작동하지만 사운드가 재생되어야한다고 지정하는 IBAction까지 제스처 인식기를 연결하려고 시도하면 여전히 소리가 나지만 소리는 들리지 않습니다. IBActions 대신에 이것을 구현해야하는 다른 방법이 있습니까?

편집 : 추가 조사에서 스 와이프 제스처 인식기에 연결하는 방법이 스토리 보드에서 제스처 인식기를 Ctrl + 클릭 할 때 연결되어 있음에도 불구하고 결코 호출되지 않는 것처럼 보입니다. 내 오른쪽 스 와이프에 연결된 메서드는 아무런 문제가 없지만 왼쪽 스 와이프에 연결하여 메서드가 호출되도록 할 수는 없습니다.

답변

0

방법은 슬쩍에 부착 된 이유를 알아낼 관리하지 전화를받지 못했지만 방금 페이지의 viewDidLoad에서 원하는 사운드가 호출되도록했습니다. 완벽한 솔루션은 아니지만 일을 끝내고 괜찮은 것 같습니다.

0

메인 스레드에서 또는 지연 후에 사운드를 재생 해 봅니다. 이벤트 스레드에서 사운드를 재생하려고하면 몇 가지 문제가 발생할 수 있습니다. 하나의 코드 A 또는 B를 시도하고 나를 어떻게되는지 알려 :

코드 A :

- (void)playAudioOnSwipe { 
    // Play the audio here 
} 

- (IBAction) onSwipe { 
    [self performSelector:@selector(playAudioOnSwipe) withObject:nil afterDelay:0.5]; 
} 

코드 B :

- (void)playAudioOnSwipe { 
    // Play the audio here 
} 

- (IBAction) onSwipe { 
    [self performSelectorOnMainThread:@selector(playAudioOnSwipe) withObject:nil waitUntilDone:NO]; 
} 
+0

둘 다 시도했지만 어느 것도 효과가없는 것으로 보입니다. – lunadiviner

+0

스 와이프를 처리하는 함수에 중단 점을 설정하여 실제로 스 와이프 동작에서 호출되는지 확인하십시오. – Cameron

+0

정확히 그 일을하지는 못했지만 NSLog를 호출했는지 확인하기 위해 전화를 걸었습니다. 편집에서 말한 것처럼 NSLog는 호출되지 않았습니다. 나는 일을 끝내는 해결 방법을 알아 냈다. – lunadiviner

관련 문제