我有幾個視圖,其中一個是「選項」視圖,在這個視圖中會出現一個按鈕,允許用戶點擊一個按鈕來「停止」背景音樂,或者點擊它來打開它回來。林相當肯定,我有如何做到這一點的一般想法,問題是,我的代碼沒有工作,我不知道爲什麼。讓我的背景音樂播放器停止? Objective C
這是從執行文件中的代碼爲「選項」類:
- (IBAction)musicIO:(id)sender {
MenuViewController *myMusicPlayer = [[MenuViewController alloc] init];
[myMusicPlayer backgroundMusicStart];
}
它調用我的菜單代碼的方法(不同類)
這是我的菜單代碼:
-(IBAction) backgroundMusicStart{
if(i != 1){
NSURL * URL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/backgroundMusic.wav", [[NSBundle mainBundle] resourcePath]]];
NSError *error;
backgroundPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:URL error:&error];
backgroundPlayer.numberOfLoops = -1;
[backgroundPlayer play];
i = 1;
NSLog(@"In start music");
}
else if (i == 1) {
[backgroundPlayer stop];
i = 0;
NSLog(@"In stop music");
}
}
「i」是全局聲明的變量。
它的代碼問題: 它運行,NSLog輸出,它得到兩個if語句罰款,問題是當它在[backgroundPlayer停止]括號,它不停止音樂,我無法弄清楚爲什麼。
根據你的使用情況是什麼,你可能想使用暫停,而不是止損,確定要使用哪一個取決於您是否希望[播放恢復或重新啓動](http://developer.apple.com/library/ios/#DOCUMENTATION/AVFoundation/Reference/AVAudioPlayerClassReference/Reference/Reference.html)。 – hd1 2013-04-24 03:29:44
我想讓它停下來。 – 2013-04-24 03:31:52
將nslog更改爲NSLog(@「停止音樂%@」,backgroundPlayer);並查看後臺播放器是否爲 – 2013-04-24 03:34:04