0
在我的應用程序中,我將按鈕設置爲鍵盤。每個按鈕的作用類似於鋼琴鍵,您可以觸摸按鈕,當您按住時播放聲音,但釋放時會停止播放。對於這種方法,我使用了兩個IBActions。一個用於Touch Down(聲音播放)和Touch Up Inside(聲音停止)。我使用SystemSoundID播放聲音,因爲AVAudioPlayer有延遲播放。唯一的問題是,當我按住按鈕聲音播放良好,但一旦我釋放觸摸我的應用程序崩潰。下面是我的代碼:SystemSoundID停止聲音
.h文件中:
SystemSoundID *soundID;
.m文件:
- (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納入我的項目。任何方式來阻止聲音,並防止我的應用程序崩潰?無論如何,爲什麼我的應用崩潰? – 2012-07-16 03:58:00