2010-10-04 71 views
0

我遇到菜單>一級聲音問題。 但是,當我退出第一層並回到菜單時,聲音不會停止!正在退出的聲音問題

我需要什麼代碼來終止聲音?

這是我使用的代碼:

- (IBAction) playsound { 
NSString *path = [[NSBundle mainBundle] pathForResource:@"imsound" ofType:@"wav"];  
AVAudioPlayer* myAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];  
myAudio.delegate = self;  
myAudio.volume = 1.0;  
myAudio.numberOfLoops = -1;  
[myAudio play]; 
} 

回答

1

隨着文檔狀態,-1會導致直到你發送一個-stop它反覆播放。所以問題變成「我應該什麼時候讓它停止。」這樣做可能是個好主意(如果正在播放)when you go back

因爲你不持有對玩家的引用(一旦你離開-playSound:方法就會泄漏它,你沒辦法讓它閉嘴,你應該讓它成爲一個實例變量/財產,所以你可以在需要的時候找到它,你基本上是在按壓遊戲,然後把玩家扔到某人的卡車後面,然後想讓它回來,這樣你就可以把它關掉,應該把一根繩子綁在上面。 ;-)

正確的內存管理技術和實例變量的使用是當前困境的關鍵原因。