내 응용 프로그램에는 키보드로 설정되는 단추가 있습니다. 각 버튼은 피아노 건반과 유사하게 작동합니다. 피아노 건반을 누르고 소리가 들리면 연주하지만 놓으면 멈 춥니 다. 이 방법에서는 두 가지 IBActions를 사용합니다. 터치 다운 (사운드 재생) 및 터치 업 인사이드 (사운드 정지)를위한 하나. AVAudioPlayer에 지연된 재생이 있으므로 사운드 재생에 SystemSoundID를 사용하고 있습니다. 유일한 문제는 버튼을 누르고있을 때 소리가 잘 들린다는 것입니다. 일단 터치를 놓으면 앱이 다운됩니다. 난 당신이 개체로 잘못 SystemSoundID을 치료하고 생각SystemSoundID 소리 멈춤
- (IBAction)ASoundStart:(id)sender {
NSString *soundFile = [[NSBundle mainBundle] pathForResource:@"P1:4t" ofType:@"mp3"];
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:soundFile], &soundID);
AudioServicesPlaySystemSound(soundID);
[soundFile release];
}
- (IBAction)ASoundStop:(id)sender {
AudioServicesDisposeSystemSoundID(soundID);
}
실제로 내 프로젝트에는 ARC가 통합되어 있지 않습니다. 소리를 멈추고 내 앱이 충돌하는 것을 막을 수있는 방법은 없나요? 어째서 내 응용 프로그램이 정확히 충돌하지 않는 이유는 무엇입니까? –