声音问题退出

时间:2010-10-04 23:00:03

标签: cocoa-touch ios avfoundation

我有一个问题,我在菜单中有声音>一级。 但是,当我退出第一级并返回菜单时,声音不会停止!

终止声音需要什么代码?

这是我正在使用的代码:

- (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 个答案:

答案 0 :(得分:1)

正如文档所述,-1将导致它重复播放,直到你发送它为止。所以问题就变成“什么时候应该告诉它停止。”这样做可能是个好主意(如果正在播放)when you go back

因为你没有持有对玩家的引用(你在离开-playSound:方法时就会泄漏它,你无法告诉它闭嘴。你应该把它作为一个实例变量/物业,所以你可以随时到达它。你基本上是按下游戏,然后将玩家扔到某人卡车的后面,然后把它想回来,这样你就可以把它关掉。应该把它串起来。 - )

适当的内存管理技术和实例变量的使用是当前困境的主要原因。