2010-10-04 70 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:方法就会泄漏它,你没办法让它闭嘴,你应该让它成为一个实例变量/财产,所以你可以在需要的时候找到它,你基本上是在按压游戏,然后把玩家扔到某人的卡车后面,然后想让它回来,这样你就可以把它关掉,应该把一根绳子绑在上面。 ;-)

正确的内存管理技术和实例变量的使用是当前困境的关键原因。